论坛首页 入门技术论坛

(十二):一个类abstract和final关键子不能同时使用

浏览 1871 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-02-28   最后修改:2009-03-03
public abstract final class AbstractFinalTest {

}

问题:上述代码能否编译通过?为什么?
解答:不能编译通过。
分析:它会报错,非法的修饰符组合abstract和final。分析:java采取什么策略导致abstract和final不能同时使用呢?是这样的:abstract修饰一个类表示这个类是抽象类,抽象类的特点是如果一个类是抽象类,里面不一定包含抽象的方法,可以全都是具体的方法。反过来说,如果一个类里面包含了抽象的方法,这个类必然是抽象类。对于抽象类来说,不管里面是不是全都是具体的方法,java规定它都不能被实例化,不能通过new的方式来生成它的一个对象,我们必须通过一个子类继承它来完成这个抽象类所完成的功能。通过实例化它的子类来实现抽象类的功能。final修饰一个类的时候表示类不能被继承,它是一个终态类。所以abstact和final是一种矛盾的状况。
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics