java中final的作用

来源:互联网 发布:会议速记软件 编辑:程序博客网 时间:2024/05/22 04:57

一、final修饰变量

里面存放的值不能变!所谓不能变是这个变量指向的地址不变,而地址指向的内容是可以变的。
比如:

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

final修饰的属性值不可以赋值,一旦赋值就不能修改。

二、final修饰类中的方法

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

三、final修饰类

类不可以被继承

四、看一个有趣的故事

       byte b1=1;       byte b2=3;       byte b3=b1+b2;//当程序执行到这一行的时候会出错,因为b1、b2可以自动转换成int类型的变量,运算时Java虚拟机对它进行了转换,结果导致把一个int赋值给byte-----出错       如果对b1 b2加上final就不会出错       final byte b1=1;       final byte b2=3;       byte b3=b1+b2;//不会出错,相信你看了上面的解释就知道原因了。
0 0
原创粉丝点击