
java中子类如何不调用父类的构造方法
6个回答
展开全部
子类必然会调用父类的构造方法。
要不然是你显式调用,要不然是Java自动调用。
如果父类有不带参数的构造方法,或者父类没有任何构造方法(也就是说有缺省构造方法),那么子类可以不显式调用,子类会自动调用super();
如果父类有带参数的构造方法,却没有不带参数的构造方法,那么如果子类没有显式调用父类构造方法,那么编译会报错。
如
class A {
public A(String name) {
}
}
class B extends A {
public B() {
//如果不显式调用父类构造方法,编译会报错。
}
}
要不然是你显式调用,要不然是Java自动调用。
如果父类有不带参数的构造方法,或者父类没有任何构造方法(也就是说有缺省构造方法),那么子类可以不显式调用,子类会自动调用super();
如果父类有带参数的构造方法,却没有不带参数的构造方法,那么如果子类没有显式调用父类构造方法,那么编译会报错。
如
class A {
public A(String name) {
}
}
class B extends A {
public B() {
//如果不显式调用父类构造方法,编译会报错。
}
}
展开全部
子类默认调用父类的无参构造,就算删除super();也一样调用,如果不想调用父类的无参构造必须写super(形参列表);传默认值即可。如父亲构造器的成员变量是基本数据类型的整数如int,就可以这么写super(0);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-15
展开全部
父类另写一个特别的构造,专为这样的子类
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-05-15
展开全部
不可以不调用父类构造方法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
子类不调用弗雷德构造方法,那还继承父类干什么,直接写一个类就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询