java的继承

来源:互联网 发布:php跳转到另一个控制器 编辑:程序博客网 时间:2024/05/18 00:51

对于上一篇《C++的继承和java的继承》,对java的继承又有了多一点的理解。上一篇说了继承之后父类A,子类B重写了父类的同名函数,那么,父类函数在什么时候就重写了呢?答案是,只要后面new B(); A中的函数就会被重写,即在调用B的构造函数时,super()调用A的构造函数时,同名也已经被重写了。一切只看new 后面的类。

public class A {public A() {System.out.println("constructor A");print1();print2();}private void print1() {System.out.println("print1 in A");}public void print2() {System.out.println("print2 in A");}}
public class B extends A{public B(){System.out.println("constructor B");}public void print1(){System.out.println("print1 in B");}public void print2(){System.out.println("print2 in B");}}

public static void main(String[] args) {B b = new B();b.print1();b.print2();}


结果可以看出,当B的构造函数调用父类A的构造函数时,输出的是被重写后的函数。




0 0
原创粉丝点击