java中的final意义

java中的final意义


本文非原创,转载请注明出处
https://blog.csdn.net/iteye_8877/article/details/81377834

如果一个数据既是static又是final,那么他会拥有一块无法改变的存储空间。

1、final data: 当final用于基本数据类型时,final让其值(value)保持不变,但是当用于object reference时,final仅让reference保持不变。也就是说当reference一旦被初始化用于代表某个对象时,便再也不能改变指向另一个对象,但对象本身的内容确实可以改变的。final对array的作用和对reference的作用一样;

2、blank finals:java允许将数据成员声明为final,却不赋初值。但是,blank finals必须在使用之前初始化,且必须在构造函数中初始化;

3、final arguments: 声明arguments为final,可以保证该argument不能再被指向它处,当argment是基本数据类型时,就以为着值不能改变;

4、final methods: 可以锁住该method,不让继承类改变其意义;允许编译器对此method作为inline method调用;

5、fianl vs private: class所有的private methods自然而然都是final,private methods仅仅是隐藏class中的某段程序代码而已,不能被overrid,即使derived class中恰好有同名的method,也不会产生什么效果;

6、final classes: 当把一个class声明为final时,也就决定了此class将不能被继承。final classes的methods也将全部是final;但其中的数据成员可以是final的也可以不是,他们将服从final data的原则。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值