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

java是默认会调用super()对么?那么我如果不想要子类再次调用父类的构造方法怎么做呢

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

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

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


class A {
public A(String name) {

}
}

class B extends A {
public B() {
//如果不显式调用父类构造方法,编译会报错。
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-08-18
子类默认调用父类的无参构造,就算删除super();也一样调用,如果不想调用父类的无参构造必须写super(形参列表);传默认值即可。如父亲构造器的成员变量是基本数据类型的整数如int,就可以这么写super(0);
第2个回答  2013-05-15
父类另写一个特别的构造,专为这样的子类
第3个回答  2013-05-15
不可以不调用父类构造方法。
第4个回答  2013-05-15
子类不调用弗雷德构造方法,那还继承父类干什么,直接写一个类就可以了
相似回答