首页 > 编程语言 > 详细

Java中的final关键字所起的作用

时间:2016-07-01 02:05:31      阅读:208      评论:0      收藏:0      [点我收藏+]

1final修饰类中的属性或者变量

??????????????无论属性是基本类型还是引用类型,final所起的作用都是变量里面存放的“值”不能变。

??????????????这个值,对于基本类型来说,变量里面放的就是实实在在的值,如1,“abc”等。

??????????????而引用类型变量里面放的是个地址,所以用final修饰引用类型变量指的是它里面的地址不能变,并不是说这个地址所指向的对象或数组的内容不可以变,这个一定要注意。

??????????????例如:类中有一个属性是final Person p=new Person("name")?那么你不能对p进行重新赋值,但是可以改变p里面属性的值,p.setName(‘newName‘);

??????????????final修饰属性,声明变量时可以不赋值,而且一旦赋值就不能被修改了。对final属性可以在三个地方赋值:声明时、初始化块中、构造方法中。总之一定要赋值。??????

??????2final修饰类中的方法

?????????????作用:可以被继承,但继承后不能被重写。

??????3final修饰类

?????????????作用:类不可以被继承。

?思考一个有趣的现象:

???????byte b1=1;

???????byte b2=3;

???????byte b3=b1+b2;//当程序执行到这一行的时候会出错,因为b1b2可以自动转换成int类型的变量,运算时java虚拟机对它进行了转换,结果导致把一个int赋值给byte-----出错

???????如果对b1 b2加上final就不会出错

???????final byte b1=1;

???????final byte b2=3;

???????byte b3=b1+b2;//不会出错,相信你看了上面的解释就知道原因了。

Java中的final关键字所起的作用

原文:http://wangduorong.iteye.com/blog/2307831

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!