美文网首页
第9章 接口

第9章 接口

作者: 胡笠 | 来源:发表于2019-04-13 01:35 被阅读0次

总结 接口中的域默认为static和final的,有interface.a这样的使用
练习3
创建一个基类,让它包含抽象方法print(),并在导出类中覆盖该方法。覆盖后的方法版本可以打印导出类中定义的某个整型变量的值。在定义该变量处,赋予它非零值。在基类的构造方法中调用这个方法。现在,在main()方法中,创建一个导出类对象,然后调用它的print()方法
基类:

package main.chapter9;

/**
 * 抽象基类
 *
 * @author
 * @create 2019-04-11 上午2:31
 **/
public abstract class  Base {

    public Base() {
        show();
    }

    public abstract void show();
}

导出类:

package main.chapter9;

/**
 * 子类
 *
 * @author
 * @create 2019-04-11 上午2:39
 **/
public class Child extends Base {

    private int i = 123;

    @Override
    public void show() {
        System.out.println(i);
    }
}

测试类:

package main.chapter9;

/**
 * 执行类
 *
 * @author
 * @create 2019-04-11 上午2:33
 **/
public class ExcuteTest {

    public static void main(String[] args){
        Base b = new Child();
        b.show();
//输出0 123
    }
}

解释:
new先执行base的构造方法,调用show,show被覆盖,调用child中的show,此时子类中的变量还没有赋值,使用默认值0。执行b.show,同样被覆盖,调用child中的show,不过此时子类已经完成了构造,输出值

相关文章

网友评论

      本文标题:第9章 接口

      本文链接:https://www.haomeiwen.com/subject/kixziqtx.html