细分final关键字的用法和注意点

final关键字可以修饰的是方法、变量、类。

1.用final修饰的不能再被其他类继承,譬如:String类
为什么要把String类声明成final?
理由是:该类能实现的功能均已经被实现,不需要再经过重写扩展其功能

2.用final修饰的方法表示此方法不能再被子类重写,譬如:Object类中的getClass()方法

3.用final修饰的属性(即在类中用final修饰变量),此时该属性变为一个常量,不能再做修改。
那么在用final修饰了属性之后,属性如何赋值?
显式初始化:即在定义某个属性同时赋值
代码块中初始化:即在该类中写一个代码块,在代码块中进行赋值
构造器中初始化:在构造器中赋值

不可以默认初始化!不可以通过方法中调用来赋值
以下是我个人理解便于记忆理解:final关键字它修饰的属性需要一个初始值,在你定义的类{}这个大括号写完时,你定义的final属性必须有一个值,即在类中你就要给该属性赋值。因为它是个常量,不可被修改,那么你在类中定义一个值始终为0或0.0的属性显然没有意义,所以这个属性的值不能是默认的,既然属性值不能是默认的,你再通过对象来调用方法来赋值这个行为的本质还是让属性值先是默认值再被覆盖,所以还是不能通过编译。

4.用final修饰局部变量,变量变为常量,不可修改。

5.用final修饰形参,形参的值在方法中只能用,不能改。
即你可以输出,或者让形参的值参与运算等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值