您的位置:首页 > 编程语言 > Java开发

JAVA_FINAL关键字

2016-06-11 20:39 232 查看
final

通常指的是“这是无法改变的”,不想做出改变有两种理由:一是处于设计、二是出于效率。

final数据:

基本类型:如: public static final int i  = 5;  

其中i是一个常量,java编译器可以将该常量值带入任何可能用到它的计算式中,可以在编译时执行计算式,减轻了一些运行时负担。

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

对象引用:

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

空白final:

所谓的空白final就是指被声明为final却没有给定初始值。无论什么情况,编译器都要确保空白final在使用前必须被初始化。可以使用构造器对其进行初始化。

final参数:

一旦参数被声明为final的,如果是引用,则意味着无法在方法中改变参数引用所指向的对象。对于基本类型,则无法在方法中改变它的值。

final方法:

使用final修饰方法一是将方法锁定,以防任何继承类修改其定义。这是处于设计的考虑。二是因为效率。在java早期实现中,如果将一个方法指名为final,就是同意编译器将针对该方法的所有调用都转为内嵌调用。当编译器发现一个final方法调用命令时,它会根据自己的谨慎判断,跳过插入程序代码这种正常方式而执行方法调用机制。如今只有在想要明确禁止覆盖时,才将方法设置为final的。

final与private关键字:

类中所有的private方法都隐式的指定为final的。由于无法取用private修饰的方法,也就无法去覆盖它。

final类:

将final置于类前,表明你不想继承该类,对该类不想做任何变动,也不允许有子类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: