Java面向对象

2018-04-10  本文已影响0人  WinddddRunner

1、子类实例化时会默认调用父类无参构造函数,如果父类没有无参构造函数,则需要子类构造函数显示调用父类有参构造函数

2、关于模板方法

 public class Father {

    public void run() {
        before();
        say();
        after();
    }

    private void before() {
        System.out.println("before");
    }

    private void after() {
        System.out.println("after");
    }

    public void say() {
        System.out.println("father");
    }
}

//继承father并重写say方法
public class Children extends Father {

    @Override
    public void say() {
        System.out.println("hello children");
    }

    public static void main(String[] args) {
        Children children = new Children();
        children.run();
    }
}
当执行children.run()方法时,debug调试显示调用过程是这样的:
1、调用father.run()方法
2、调用father.before()方法
3、调用children.say()方法
4、调用father.after()方法
上一篇 下一篇

猜你喜欢

热点阅读