11问答网
所有问题
java中,abstract类可以有final修饰吗,求大师指点
abstract类中可以有非abstract方法,但该方法可不可以被final修饰
举报该问题
推荐答案 2014-11-03
与普通类相比,抽象类可以有abstract方法,也可以有非abstract方法。抽象方法只允许声明,不允许实现,而且不允许使用final和abstract同时修饰一个方法。
抽象类不能用new运算符创建对象:如果一个非抽象类时某个抽象类的子类,那么它必须重写父类的抽象方法,给出方法体,即在子类中将abstract方法重新声明,但必须去掉abstract修饰,同时要保证声明的方法名字、返回类型、参数个数和类型与父类的abstract方法完全相同。这就是为什么不允许使用final和abstract同时修饰一个方法的原因。
做上转型对象:抽象类也可以没有abstract方法;如果一个抽象类时另一个抽象类的子类,它可以重写其父类的abstract方法,也可以继承这个abstract方法。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/4FPF7qFP8SF2P4Fq72.html
其他回答
第1个回答 2014-11-03
abstract修饰的类为抽象类,抽象类中的抽象方法必须被重写,但final修饰的方法又规定不能重写,所以abstract修饰的类或方法 不能使用final修饰本回答被提问者采纳
第2个回答 2014-11-03
要知道final的特性,变量赋值不能被再次赋值,被修饰的方法无法被继承,abstract
的非abstract一般是抽取公共方法来实现,子方法直接用就可以,如果abstract中的方法被final
修饰但是不能被继承,毫无意义
第3个回答 2014-11-03
应该不可以,final修饰了的类不能被继承,所以一个抽象类不能被继承就失去了任何意义了。
相似回答
求大师指点
一个
Java
程序的错误地方
答:
修改后的程序如下:public class Array(){public int a[]; // 定义为Array的成员属性public Array(){a = {1,2,3,4,5,6,7,8,9}; // 在构造方法中初始化成员属性}public static void main(String args[]){Array array =new Array(); // Array的成员只能通过Array的实例对象引用// 下面...
大家正在搜
java中用final修饰的类
javafinal修饰变量
java修饰符final
final和abstract
javafinal类
final可修饰
final在java中的用法
java中final关键字用法
java中final是什么意思
相关问题
Java abstract类中可以有非abstract方法,...
java中final为什么不能修饰abstract的方法
JAVA中修饰符final,static,abstract ...
final和abstract可以一起修饰一个类吗
Java的抽象类中可以有final方法吗?
Java中的abstract方法和abstract类的问题
Java抽象类可以是 final、private 吗
java中的final可以修饰哪些呢 如修饰类、接口、抽象类...