初学Java,在继承的参数方法上,遇到一些问题,但是通过以下这个例子,很好的明白了这个过程,感兴趣的朋友可以跑一下,试试,很快就能理解了;
class Father{
public Father(){System.out.println("father methods");};
public Father(int n){
System.out.println("father methods" + n);
}
}
class Son extends Father{
public Son(){};
public Son(int n){
System.out.println("son methods" + n);
}
}
public class Testextend {
public static void main(String[] args) {
Son son = new Son(3);
}
}
打印结果:
father methods
son methods3
通过上打面印结果可以知道,在用Son 方法的时候,子类追溯到父类,并且使用的是无参数的Father()方法,但是按理说应该是使用带参数的Father(int n)方法的,如果想使用Father(int n)方法,可以用super.方法名;访问子类的方法可以用this.方法名;解释如下:
Java子类不能继承父类的构造器(构造方法或者构造函数),但是父类的构造器带有参数的,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的参数列表。
希望能够帮助你们弄懂Java继承的这一点细节;共勉。