当前位置: 技术问答>java相关
一个有私有构造方法的类为什么不可以被extends?
来源: 互联网 发布时间:2015-08-20
本文导语: why? | because your subclass must call your superclass's constructor and your superclass'constructor is private,so the subclass can't find the constructor! | 不是有私有构造方法的类不可以被extends...
why?
|
because your subclass must call your superclass's constructor and your superclass'constructor is private,so the subclass can't find the constructor!
|
不是有私有构造方法的类不可以被extends,而是只有私有构造方法的类不可以被extends。
如果一个类既有私有构造方法,又有公有构造方法,还是可以被继承的。
class A {
private A() {}
public A(int i) {}
}
class B extends A {
public B() {
super(1);
}
}
如果一个类既有私有构造方法,又有公有构造方法,还是可以被继承的。
class A {
private A() {}
public A(int i) {}
}
class B extends A {
public B() {
super(1);
}
}
|
没有参数的构造器叫默认构造器,就是不声明也行,但是你把他设为私有的,并且有子类继承,在用子类初始化时是先调用父类的构造器,然后调用本身的构造器,你的程序为什么不能 ,不用我再说了吧!!