java中子类如何不调用父类的构造方法

2024年11月19日 16:42
有5个网友回答
网友(1):

子类必然会调用父类的构造方法。
要不然是你显式调用,要不然是Java自动调用。

如果父类有不带参数的构造方法,或者父类没有任何构造方法(也就是说有缺省构造方法),那么子类可以不显式调用,子类会自动调用super();

如果父类有带参数的构造方法,却没有不带参数的构造方法,那么如果子类没有显式调用父类构造方法,那么编译会报错。


class A {
public A(String name) {

}
}

class B extends A {
public B() {
//如果不显式调用父类构造方法,编译会报错。
}
}

网友(2):

子类默认调用父类的无参构造,就算删除super();也一样调用,如果不想调用父类的无参构造必须写super(形参列表);传默认值即可。如父亲构造器的成员变量是基本数据类型的整数如int,就可以这么写super(0);

网友(3):

父类另写一个特别的构造,专为这样的子类

网友(4):

不可以不调用父类构造方法。

网友(5):

子类不调用弗雷德构造方法,那还继承父类干什么,直接写一个类就可以了