抽象类能使用 final 修饰吗?

不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类,如下图所示,编辑器也会提示错误信息:

final修饰的类不能被继承,没有子类。如果类中有抽象的方法也是没有意义的。abstract类为抽象类。即该类只关心子类具有的功能,而不是功能的具体实现。如果 用final修饰方法,那么该方法则不能再被重写。final 是不能修饰abstract所修饰的方法的。

知识拓展

final关键字可以用来修饰类、方法、变量。各有不同。

A、修饰类(class)。

1、该类不能被继承。

2、类中的方法不会被覆盖,因此默认都是final的。

3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类

B、修饰方法(method)

1、该方法可以被继承,但是不能被覆盖。

2、用途:一个类不允许子类覆盖该方法,则用final来修饰

3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调用final方法转入内嵌机制,提高了执行效率。

4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final型的(可以查看编译后的class文件)

C、修饰变量(variable)

1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。

2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。

D、修饰参数(arguments)

1、用final修饰参数时,可以读取该参数,但是不能对其作出修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值