JAVA_FINAL关键字

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置于类前,表明你不想继承该类,对该类不想做任何变动,也不允许有子类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值