-1 java oop inheritance constructor
我希望在继承期间调用父类的参数化构造函数(选择的构造函数).
但默认情况下我得到了非参数化的构造函数.
class parent
{
parent(int i){System.out.println("From parameterized constructor");}
parent(){System.out.println("From Normal Constructore");}
}
class child extends parent
{
child()
{
System.out.println("From child");
}
}
public class MyClass {
public static void main(String args[]) {
child c=new child();
}
}
Run Code Online (Sandbox Code Playgroud)
默认情况下,super()除非特别重写,否则每个构造函数都包含对第一行的调用.所以在你的情况下;
Child() {
System.out.println("From child");
}
Run Code Online (Sandbox Code Playgroud)
相当于
Child() {
super();
System.out.println("From child");
}
Run Code Online (Sandbox Code Playgroud)
哪个super()是对父类的默认构造函数的引用.要改变它.你可以做以下事情;
Child() {
super(1);
System.out.println("From child");
}
Run Code Online (Sandbox Code Playgroud)
这应该输出类似的东西
From parameterized constructor
From child
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |