JAVA2核心技术卷I:基础知识(原书第7版) -- 第6章. 接口和内部类

1. 接口

    1.1 排序接口Comparable,内置方法 public int compareTo(T obj)

    1.2 接口可以申明常量,一个类可以实现多个接口,但确只能集成一个类

    1.3 Integer.MAX_VALUE: 整数最大值,在检查数值的时候需要

    1.4 instanceof: 检查一个对象是否属于某个类或实现某个接口,compareTo: 两个对象比较

2. 对象克隆

    2.1 拷贝和克隆区别

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

        Employee copy = original;

        copy.raiseSalary(10);  //原有对象和拷贝对象都发生变化

        Employee copy = original.clone();

        copy.raiseSalary(10);  //原有对象不会发生变化

    2.2 实现clone方法,必须实现Cloneable接口,使用public访问修饰符重新定义clone方法

3. 接口与回调

    3.1 回调(callback): 定义一个对象,该对象需要每隔一段时间做具体的事情,然后new该对象,把这个对象传递给Timer,由Timer定义时间间隔,回调该对象的方法。

        class TimePrinter implements ActionListener {

            public void actionPerformed(ActionEvent event) {

                 Date now = new Date();

                 System.out.println("At the tone, the time is " + now);

                 Tookkit.getDefaultToolkit().beep();

            }

        }

        ActionListener listener = new TimePrinter();

        Timer t = new Timer(10000, listener);  //每隔10秒打印一次

        t.start();

4. 内部类

    4.1 内部类可以访问外围类的域和方法,如果内部类有构造器,编译器将会对它进行修改,并添加一个外围类引用的参数

    4.2 局部内部类: 可以在一个方法中定义局部类,局部类不能用public或private进行修饰,而且作用域被限定在该方法之内,局部类可以访问外围类的域,还可以访问局部变量,但是局部变量必须声明为final。

        public void start(int interval, final boolean beep) {

            class TimePrinter implements ActionListener {

                public void actionPerformed (ActionEvent event) {......}

            }

        }

    4.3 匿名内部类(anonymous): 只创建一个类的对象,不能有构造器。

        public void start(int interval, final boolean beep) {

            ActionListener listener = new

                ActionListener {

                    public void actionPerformed (ActionEvent event) {......}

            };

        }

    4.4 静态内部类: 把一个类隐藏在另一个类里面,并不希望内部类访问外围类对象

5. 代理

    代理可以在运行时候创建一个实现了一组给定接口的新类,避免创建“stub”代码,在RMI调用中有用。

    Object invoke(Object proxy, Method method, Object[] args)  //定义代理对象调用方法执行的动作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值