发布网友 发布时间:2022-05-20 22:03
共1个回答
热心网友 时间:2023-10-03 06:37
这个是应该选B,是这样的,在实例化一个子类对象的时候,如果不写SUPER关键字,那么JVM会自动调用父类的无参构造方法,如果需要用到父类的有参构造方法,那么必须用SUPER关键字来传参,不管在什么时候,实例化子类对象的时候都先调用父类的构造方法追问谢谢这么快。不过。。。追答呵呵,这个问题有的人说能,有的人说不能。正确的应该是没有继承父类的构造方法的,只是在实例化子类的时候先虚拟机先调用了父类的构造方法而已
比如,这样
public class A{
public A(String str){
System.out.println(str);
}
}
public class B extends A{
public B(int number){
System.out.println(number);
}
}
public static void main(String[] args){
//B b=new B("test");//这样是会错的
B b=new B(1); //这样就可以了
}
而也不是只继承了无参构造,如果你父类是无参构造,你在子类的构造方法中没有写上SUPER,JVM是隐式调用了SUPER关键字的