- public class Student {
- }
- public abstract class Boy extends Student {
- }
复制代码 抽象类Boy继承自实体类Student,Student中没有明确的构造函数(但是有默认的无参构造器),编译通过。
这样一个无法被证实的问题,让人如何回答呢?
其实,对于抽象类可不可以继承实体类,我认为完全是可以的。
抽象类也是类,所有类都继承自Object,这不就是在继承吗?
我们来看一下构造函数的问题。
当一个类B继承自类A时,在B中的构造器(无论是有参还是无参)都会隐式调用父类中的无参构造器。
但是当父类中定义了若干个有参构造时,系统将不会再为父类提供隐式的无参构造器。
这时,B类中的构造器将会出错,它就只能显示的调用与其相匹配的父类构造器才能编译通过。 |