final关键字

来源:互联网 发布:联合办公 知乎 编辑:程序博客网 时间:2024/05/17 08:52


参考资料:Java编程思想

参考博客:http://lavasoft.blog.51cto.com/62575/18771/ (里面有例子,很详细)

final数据:

对于基本类型,final使数值恒定不变。

对于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象。然而,对象其自身却是可以被修改的。

注意,我们不能因为某数据是final的就认为在编译时可以知道它的值。

 

final方法:

使用final方法的原因有两个:一是防止方法被重写(当子类继承父类的时候,会隐式继承父类的public final方法,但是绝对不允许对父类final方法重写);二是效率(编译器在遇到调用final方法时候会转入内嵌机制,大大提高执行效率)。

 

final类:

当一个类被定义成final时,则该类不能被继承。换句话说,就是当你不打算继承该类,也不允许别人对该类进行改动,或者是出于安全的考虑,不希望它有任何子类,这个时候,就可以把该类定义成final类型。当一个类指定为final类型时,该类中的所有方法都隐式指定是final的,因为无法覆盖它们。在final类中可以给方法添加final修饰词,但不会增加任何意义。

 

final和private关键字:

类中所有的private方法都隐式地指定为是final的。由于无法取用private方法,所以就无法覆盖它。可以对private方法添加final修饰词,但这并不能给该方法增加任何额外的意义。


final和static关键字:

一个既是static又是final的域只占据一段不能改变的存储空间。

带有恒定初始值的final static基本类型全用大写字母命名,并且字与字之间用下划线隔开。


原创粉丝点击