我只能说abstract真的很抽象,它和他大兄弟interface都是无聊的家伙。那么问题来了,抽象abstract不能和哪些关键字共存呢?现总结如下(欢迎大家来拍):
1.private:
一个abstract方法就是用来被子类重写的,所以子类必须能访问父类的抽象方法,所以父类的抽象方法不能是private;
2.final:
一个abstract方法是用来被子类重写的,被声明为final的方法是最终方法,不允许重写。所以冲突;一个abstract类是用来被继承的,被声明为final的类是最终类,不能被继承。所以冲突;
3.static:
一个abstract方法没有方法体。
而一个static的方法在第一次使用类的时候就会被分配空间,而此时,抽象类的方法没有方法体,所以也就无法为其分配空间。所以不能是abstract又是static的。 |
|