亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

java final的使用總結

標簽:
Android

final 变量:是只读的;

final 方法:是不能继承或者重写的。

final 引用:引用不能修改,但是对象本身的属性可以修改;

final class:不可继承;

final MyObject o = new MyObject();
o.setValue("foo"); // Works just fine
o = new MyObject(); // Doesn't work.
  • 虚拟机并不会知道你的变量是否是final的,所以final与内存泄露无关。
  • final不会让代码速度更快

1.final类

当一个类声明为final类,也就证明这个类是不能够被继承的,即禁止继承,因此final类的成员方法是没有机会被覆盖的,这个final类的功能是完整的。在Java中有很多类是final的,如String、Interger以及其他包装类。

final类的好处:不可变类有很多的好处,它们的对象是只读的,可以在多线程环境下安全的共享,不用额外的开销。

2.final方法
如果一个类不允许其子类覆盖某个方法,即不能被重写,则可以把这个方法声明为final方法。(类中所有的private方法都隐式的指定为final)。
使用final方法的原因:

方法锁定,防止任何继承类修改它的含义,确保在继承中使方法行为保持不变且不被覆盖;
效率,将一个方法指明为final,就是同意编译器将针对该方法的所有调用都转化为内嵌调用(相当于在编译的时候已经静态绑定,不需要在运行时再动态绑定)。

3.final变量
程序中有些数据的恒定不变是很有必要的,比如:

一个永不改变的编译时常量;
一个在运行时被初始化的值,而在程序的后面不希望它被改变。
这种类型的变量只能被赋值一次,一旦被赋值之后,就不能够再更改了。
有几点要注意的:

一个既是static又是final的域只占据一段不能改变的存储空间,一般用大写来表示;
final使数值恒定不变,而当用于对象时,final使引用恒定不变(一旦引用指向一个对象,就无法再把它改为指向另一个对象);
final变量的好处:

提高性能,JVM和Java应用程序都会缓存final变量;
final变量可以在安全的在多线程环境下进行共享,而不需要额外的开销。

點擊查看更多內容
2人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消