美文网首页
第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