码迷,mamicode.com
首页 > 其他好文 > 详细

06 接口与内部类

时间:2014-06-08 00:25:21      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:c   style   class   blog   code   a   

接口是一种特殊的抽象类

public interface Comparable<T>{}  // 泛型类型接口

实现接口时, 要实现接口的所有方法

class Employee implements Comparable<Employee> {}

接口中可以包含常量, 但是不能包含实例域或静态方法.

对象克隆

Employee original = new Employee("John Public", 50000);

Employ copy = original;  // 这句话并不是真正意义的克隆, 而是为堆内存中得对象增加了一个指向它的指针, 现在有两个指针指向它, original, copy

copy.raiseSalary(10);

 

Emloy copy = orginal.clone();  // 这样就在堆上又开辟了一块新内存, 并用指针 copy 指向这块内存.

不过事情没有那么简单, clone方法是Object类的一个protected方法, 也就是说, 在用户编写代码中不能直接使用它, 子类只能调用clone方法克隆它自己, 另外必须重新定义clone方法, 并将它声明为 public, 尽量不要使用克隆, 因为还有很多其他限制.

接口与回调

回调是一种常见的设计模式, 在这种模式中, 可以指出某个特定事件发生时应该采取的动作. 例如: 可以指出在按下鼠标或选择某个菜单项时应该采取什么行动

bubuko.com,布布扣
class TimePrinter implements ActionListener {
    public void actionPerformed(ActionEvent event) {
        Date now = new Date();
        System.out.println("At the tone, the time is " + now);
        Toolkit.getDefaultToolkit().beep();
    }
}
View Code

Timer t = new Timer(10000, listener);

Timer 构造器第一个参数是时间间隔, 单位是毫秒, 第二个参数是监听器对象.

t.start(); 启动定时器

代理

代理可以在运行时创建一个实现了一组给定接口的新类, 这种功能只有在编译时无法确定需要实现哪个接口时才有必要使用, 对于应用程序设计人员来说, 遇到这种情况的机会很少.

果断先跳过, 以后需要再看.

06 接口与内部类,布布扣,bubuko.com

06 接口与内部类

标签:c   style   class   blog   code   a   

原文地址:http://www.cnblogs.com/moveofgod/p/3774620.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!