码迷,mamicode.com
首页 > 其他好文 > 详细

final修饰符的难点记录

时间:2014-06-22 06:26:43      阅读:260      评论:0      收藏:0      [点我收藏+]

标签:final

      今天看到了final字段这块,把不会的或者难点记录下来。

第一,空白final。

       书上说的有点绕,说空白final更灵活。但之前又说过final变量必须进行初始化,这是什么意思呢,二者难道有冲突吗?

其实空白final的核心就是:构造器赋值。

<script src="https://code.csdn.net/snippets/401447.js"></script>

第二,static final 同 final 的区别。

        以前我提过,static字段只会初始化一次,无论你创建多少个对象。那么static final 和 final的区别也在此。

<script src="https://code.csdn.net/snippets/401503.js"></script>

执行结果为:

第一次初始化 a = 33
第二次初始化 a = 64
第一次初始化 b = 20
第二次初始化 b = 20

第三,关于final修饰的方法作用—方法锁定、效率。


       方法锁定简单,防止子类继承,再重写之。例如 String

       效率这块,现在的JAVA 5以上的版本,JVM会自动处理这块的效率,所以,不需要考虑为了加快调用速度而是用final。

第四,private final修饰。

       当你要隐藏某种实现,并确保这种实现在任何情况都不需要修改的情况下,才能使用这个。

第五,final类。

       不想被任何人继承。同第四点类似,只是范围扩大到类。final类中所有的方法默认为final方法、所有的变量默认为final变量。

final修饰符的难点记录,布布扣,bubuko.com

final修饰符的难点记录

标签:final

原文地址:http://blog.csdn.net/zhao9tian/article/details/32976763

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!