final数据
一个即是static又是final的域只占据一段不能改变的存储空间。 对于基本数据类型,final使数值恒定不变;而对于对象引用,final使引用恒定不变(一旦引用被初始化指向一个对象,就无法再把它改为指向一个对象,然而,对象其自身却是可以被修改的)。这一限制同样适用于数组,因为它也是对象。
final参数
java允许在参数列表中以声明的方式将参数指明为final。这意味着你无法再方法中更改参数引用所指向的对象(此处是指final所修饰的引用不可改变,引用所指向的变量属性可以改变的。即该引用永远指向该变量,但该变量的内容是可以更改的。)java编程思想这里的表达不清楚。
final方法
两个原因:1,把方法锁定,以防任何继承类修改它的定义。想确保在继承中使方法行为保持不变,并且不会被覆盖。
2,出于效率(早期)。现在已经不需要了,关于效率的东西应该交给JVM,只有在想要明确禁止覆盖时,才将方法设置为final。
final和private关键字
类中所有的private方法都隐式的指定为是final的。由于无法取用private方法,所以也就无法覆盖它。但如果在导出类中以相同的名称生成一个public,protected 或者包访问权限的方法的话,该方法就不会产生在基类中出现的“仅具有相同名称”的情况。此时你并没有覆盖该方法,仅是生成一个新的方法。
final类
当将某个类的整体定义为final时,就表明了你不打算继承该类,而且也不允许别人这样做。
浙公网安备 33010602011771号