java的继承
2016-10-18 20:28
106 查看
对于上一篇《C++的继承和java的继承》,对java的继承又有了多一点的理解。上一篇说了继承之后父类A,子类B重写了父类的同名函数,那么,父类函数在什么时候就重写了呢?答案是,只要后面new
B(); A中的函数就会被重写,即在调用B的构造函数时,super()调用A的构造函数时,同名也已经被重写了。一切只看new 后面的类。
结果可以看出,当B的构造函数调用父类A的构造函数时,输出的是被重写后的函数。
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的构造函数时,输出的是被重写后的函数。
相关文章推荐
- 转:澄清Java----接口与继承
- 在JAVA中阻止类的继承(官方和非官方)
- Eclipse快速上手Hibernate--4. 继承映射(1)(摘自javamxj的blog)
- Java 中子类是否只继承父类的非私有变量和方法?
- 通过实验看 Java 中私有成员是否能被继承
- 通过实验看 Java 中私有成员是否能被继承
- Eclipse快速上手Hibernate--4. 继承映射(2)(摘自javamxj的blog)
- Java 继承时的隐藏
- JAVA如何利用接口制造类似于C++的多继承
- 澄清Java(一)----接口与继承
- Java类继承中的构造函数问题
- 在Java中使用继承
- 为什么Java中继承是有害的
- JAVA中几个易混淆关键词的理解:行为,隐藏,组合和继承,覆写和重载,多形(多态)性,动态绑定,上溯造型,抽象类,接口
- JAVA 的interface观念 与C++ 多重继承的比较
- 在JAVA中阻止类的继承
- 为什么Java中继承是有害的
- Eclipse快速上手Hibernate--4. 继承映射(3)(摘自javamxj的blog)
- Java 中子类是否只继承父类的非私有变量和方法?
- 澄清Java语言接口与继承的本质