在网上留传这一份java面试题集,里面有这么一道题:
   接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
而其给出的答案是:
   接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。
我的见解是对于其接口部分的答案毋庸置疑,但说到抽象类继承实体类,好象那个前提不是必需的!
前题中提到的实体类必须有明确的构造函数这句话。我是这么理解的,明确的构造函数就是我们一定在
类文件中显式的写出了构造函数。如果我们没有显式的写出构造函数,怎、则会用到java虚拟机的提供的默认构造函数,而这个答案的另一层意思就是说:如果你的实体类是使用的默认构造函数,则不能被
抽象类继承。这个显然是大大的错误!例子如下:
public class Father {}
public abstract  class son extends father{}编译通过!根本不存在这个前提条件的说法。但是是否所有的实体类都能被继承了?当然不是,有两种情况不能:1,final修饰符修饰的类是不能的
2,如果此实体类有且仅有私有的构造函数也是不能的。
小弟我才学术浅,不敢贸然确定我的判断是正确的,所以拿到这里抛砖引玉,希望能够探讨探讨!