C.R

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

java中的final关键字

Posted on 2013-03-14 19:23  lvbinrain  阅读(131)  评论(0)    收藏  举报

 

final数据

  一个即是static又是final的域只占据一段不能改变的存储空间。 对于基本数据类型,final使数值恒定不变;而对于对象引用,final使引用恒定不变(一旦引用被初始化指向一个对象,就无法再把它改为指向一个对象,然而,对象其自身却是可以被修改的)。这一限制同样适用于数组,因为它也是对象。

final参数

  java允许在参数列表中以声明的方式将参数指明为final。这意味着你无法再方法中更改参数引用所指向的对象(此处是指final所修饰的引用不可改变,引用所指向的变量属性可以改变的。即该引用永远指向该变量,但该变量的内容是可以更改的。)java编程思想这里的表达不清楚。

final方法

  两个原因:1,把方法锁定,以防任何继承类修改它的定义。想确保在继承中使方法行为保持不变,并且不会被覆盖。

       2,出于效率(早期)。现在已经不需要了,关于效率的东西应该交给JVM,只有在想要明确禁止覆盖时,才将方法设置为final。

final和private关键字

  类中所有的private方法都隐式的指定为是final的。由于无法取用private方法,所以也就无法覆盖它。但如果在导出类中以相同的名称生成一个public,protected 或者包访问权限的方法的话,该方法就不会产生在基类中出现的“仅具有相同名称”的情况。此时你并没有覆盖该方法,仅是生成一个新的方法。

final类

  当将某个类的整体定义为final时,就表明了你不打算继承该类,而且也不允许别人这样做。