java关键字之 final

   故名思义,final即最后的,最终的,不可改变的。实际上,在java中,final的作用也基本上是这样的,其原因可能是出于效率或设计。final关键字可以应用于属性,方法和类。当然在这三个方面的应用是有细微差别的。
 
(1)final数据
    使用final数据,目的是想告诉编译器这个数据一经初始化就不会再改变。
 
  对于基本类型,final使数值恒定不变,一个既是static又是final的字段只占据一段不能改变的存储空间;而对于对象引用,final使引用恒定不变。一旦引用被初始化指向一个对象,就无法在把他改为指向另一个对象,但对象自身是可改变的(同样适用于数组,其也是对象)。
 
带final的数据定义格式如下
 
      public  final int  i = 0;
 
更一般的定义如下
 
      public  static final int  VAL_STAT = 10;
 
   对于如上的定义,要注意定义格式,带有恒定初始值(编译时刻变量,非运行时刻)的static final 基本类型全用大写字母命名,并且字与字之间用下划线隔开(这是规范)。
   对于以上两种格式的定义,第二种更常用。
 
(1)final方法
   使用final方法原因有两个。
   第一,把方法锁定,任何继承类都不能修改它(不被覆盖)。
   第二,效率。针对该方法的所有调用都转为 内嵌调用 。即在编译过程中,当编译器发现一个final方法调用时,它会以该final方法体中的实际代码的副本来代替方法调用,而不是传统的方法调用(本程序指针压栈,程序指针转向调用代码,执行后返回结果,原调用程序指针出栈)。
  
   对于final方法,并不是很常用,所以这里不列出例子了。
 
(1)final类
   使用final类的原因只有一个,就是你不打算继承该类,也不许其他人继承。这个类永远不需改变。
   对于final方法和final类,最好慎用。即使你很牛,认为你的方法或类是万能的,不需继承修改。但你应该知道“应用是静止的,需求是变化的 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值