java代码继承难点。构造方法的调用
总结:子类默认调用父类的无参构造方法。重写时,父类方法将被覆盖,不被调用,在子类中可以使用super.方法();可以实现
运行显示:
evente.x:55 evente.x:55 B.y:57
package com.addd; //若子类没有显示的调用父类的无参构造方法,将自动调用父类的无参构造方法 //若超类即父类没有无参构造方法,子类有没有显示调用,编译将不通过 public class Some { public static int x = 54; private int y = 2; public int z; Some() { x = x + 1;// 只对局部x操作 show();// 调用x的方法 } public void show() { System.out.println("Some.x:" + x); } public int getY() { return y; } } class evente extends Some { public evente(int x) { x = x + 5; show(); } public void show() { System.out.println("evente.x:" + x); } public int getY() { System.out.println("B.y:" + (super.getY() + x)); return super.getY() + x; } } 测试类: package com.addd; public class Tod { public static void main(String[] args) { // Some s=new evente(33); // int v= s.getY(); evente d = new evente(8);// 默认调用父类的无参构造方法 d.getY();// /55+2=57; } }