JAVA继承,构造函数的执行以及super(),super的用法

来源:互联网 发布:淘宝哪家护肤品是正品 编辑:程序博客网 时间:2024/04/30 15:00

1. 生成子类的对象时,默认会调用父类的无参构造函数。

2. 当父类拥有多个构造函数时,可以用在子类的构造函数中用super()指定调用父类的哪个构造函数。

3. 覆盖父类的方法时,可用super.function(...)调用父类的方法。


测试代码如下:

public class P {public P(){System.out.print("p,");}public P(String aa){System.out.print("p+"+ aa+",");}public void f(){System.err.print("p.f,");}public static void main(String[] args) {new S(); //执行结果: p,sS s = new S("bb");//执行结果:p+aa,s+bbS2 s2 = new S2();//执行结果:p+aa,s2s.f(); //执行结果:p.f,s.fs2.f();//执行结果:s2.f}}class S extends P{public S(){System.out.println("s,");}public S(String bb){super("aa");System.out.println("s+"+ bb+",");}public void f(){super.f();System.err.println("s.f");}}class S2 extends P{public S2(){super("aa");System.out.println("s2");}public void f(){System.err.println("s2.f");}}


0 0
原创粉丝点击