JAVA中final
2019-03-18 本文已影响0人
宇浩_7658
作用于:属性,方法,类
A属性:
1)一个 永不改变的编译时常量
2)一个在运行时被初始化的值,而不希望他被改变
3)一个既是static又是final的域只占据一段不能改变的存储空间
4)对于基本类型 final数值恒定不变
5)对于对象引用 final使引用很定不变(一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。但是对象自身却是可以被修改的)
6)java并未提供使任何对象恒定不变的途径
B空白final
1)指被声明为final但尤为给定初值的域。
2)在使用前必须被初始化。
3)一个类中的final域就可以做到根据对象而有所不同,却又保持其恒定不变的特性
C参数
1)意味着无法在方法中改变参数引用所指向的对象
2)主要用来向匿名内部类传递数据
D方法
1)把方法锁定,以防任何继承类修改它的含义(确保在继承中使方法行为保持不变,并且不会被覆盖)
2)效率问题(早期)
F final和private关键字
1)类中所有的private发放都隐式地指定为final的。
2)可以对private方法添加final修饰词,但并不能给方法增加任何额外的意义。
G类
1)不能被继承
2)final类中所有的方法都是隐式指定为final的,因为无法覆盖它们。
3)在final类中可以给方法添加final修饰词,但不会有任何意义。