JAVA中的final

JAVA中的final的基本意思是这个东西不能更改,在对于数据,方法和类的时候,又有不同的意思。


数据成员:

如果是基本类型,则意味着这是一个数据常量,无法更改,如果给这个数据赋了一个编译时的初始值的话, 那么意味着这个数据时编译时常量。如果赋了一个运行值的初始值的话,那么这个数据是一个运行时的常量。

如果是一个引用,那么并不是以为着引用所指的对象不能被更改,而是这个引用不能更改,不能指向其他的对象,而这个引用所指向的对象是可以被更改的。数列就是一个对象。

如果把一个方法的参数定义为final,那么意味着这个方法不能更改这个参数所指向的对象。

如果把一个方法定义为fina时,一般有两个初衷。 首先,是程序员不想让这个方法在继承的过程中被更改,如果定义为final,那么这个方法是不能被重写的。第二一个final的方法可以起到提高的效率的作用。JVM在处理一个final方法的调用的时候,会跳过传统的调用的方式,而直接调用final的方法代码体。

但是,如果你将一个方法定义为private,那么这个方法其实就是一个final方法了,因为你将无法重写这个方法,当然你依然可以定义一个方法为private final,但是并没有什么意义。


最后,如果把一个类声明为final,那么意味着这个类是不能被继承的,不能被更改的,final类中的方法不用一定声明为final,但是如果这个类已经是一个final的话,那么其中所有的数据变量和方法变量都隐私地被声明为final了。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值