抽象类的问题
为什么抽象类是否可继承实体类的前提是实体类必须有明确的构造函数。
------解决方案--------------------任何抽象类都是可以继承实体类的
关键是抽象类的定义:如果实体类没有默认的构造函数,那么抽象类的构造函数必须显式的调用一下父类构造函数。
合法的例子:
1.
class A {}
abstract class B extends A {}
2.1.
class A{
A(int i){
}
}
abstract class B extends A{
B(){
super(0);
}
}
2.2.
class A{
A(int i){
}
}
abstract class B extends A{
B(int i){
super(i);
}
}
非法的例子:
class A{
A(int i){
}
}
abstract class B extends A{ }