深入理解Java中的final关键字

来源:互联网 发布:梦幻宠物灵力计算法伤 编辑:程序博客网 时间:2024/06/02 02:28

final关键字

         final是java中的一个关键字,可以声明变量、方法和类,一旦将其声明为final,我们将不能改变这个引用。

final变量

        用final修饰的变量,意味着该变量是只读的(引用变量是地址不可变,变量的内容可以改变,对基本变量来说,该值不会变,同时类型在算数运算时不会自动提升)。final经常和static关键字一起使用,用作常量。final成员变量必须在声明的时候初始化或者在构造器、代码块中初始化,否则编译错误,final局部变量必须在声明时赋值
public static final String SUCCESS=1;final byte b1=1;final byte b2=3;byte b3=b1+b2;//不会出错,

final方法

         final修饰的方法,表明该方法不可以被子类重写。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。

final类

final修饰的类意味着该类不可被继承。

不可变类

          创建不可变类使用final关键字,不可变指该对象一旦被创建,该对象所指向的值(引用变量的地址,基本类型的值)就不能在改变了。String是不可变类。不可变类有许多好处,对象只读,可以在多线程环境下安全共享,不需要额外的同步开销等。