final关键字可以用来修饰类、方法、变量、参数,不能修饰抽象类和接口

面试题 

以下关于final关键字说法错误的是(A,C)(两项)

A) final是java中的修饰符,可以修饰类、接口、抽象类、方法和属性
B) final修饰的类肯定不能被继承
C) final修饰的方法不能被重载
D) final修饰的变量不允许被再次赋值

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

A、修饰类(class)。 
     1、该类不能被继承。 
     2、类中的方法不会被覆盖,因此默认都是final的。 
     3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类

B、修饰方法(method) 
     1、该方法可以被继承,但是不能被覆盖。 
     2、用途:一个类不允许子类覆盖该方法,则用final来修饰 
     3、好处:可以防止继承它的子类修改该方法的意义和实现;更为高效,编译器在遇到调用fianal方法转入内嵌机制,提高了执行效率。 
     4、注意:父类中的private成员方法不能被子类覆盖,因此,private方法默认是final型的(可以查看编译后的class文件)

C、修饰变量(variable) 
     1、用final修饰后变为常量。包括静态变量、实例变量和局部变量这三种。 
     2、特点:可以先声明,不给初值,这种叫做final空白。但是使用前必须被初始化。一旦被赋值,将不能再被改变。

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

二、final关键字不能用来抽象类和接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值