final关键字
来源:互联网 发布:人工智能权威杂志 编辑:程序博客网 时间:2024/05/01 15:48
1.final关键字用于域、引用和数组
final关键字用于域时说明这是一个常量,不能被改变的量。用于引用时说明这个引用在初始化指向一个对象后不能再指向 另一个对象,而对象本身是可以改变的,数组也是引用的集合,同理。
public class FinalTest {
final int a=1;
private int b=0;
public static void main(String[] args) {
FinalTest ft1 = new FinalTest();
//ft1.a++; //error: The final field FinalTest.a cannot be assigned
final FinalTest ft2 = new FinalTest();
//ft2 = ft1; //error: The final local variable ft2 cannot be assigned
ft2.b++; //ft2的对象可以被改变
}
}
2.空白final
Java允许类定义一个final int a,可以不赋初值,但在用到a之前编译器强迫初始化后才能使用。一般是在构造器里对空白final进行初始化,这样可以更加灵活,当用不同构造方法创造一个对象时,这个a的值可以是不同的,一旦初始化后这个值不能改变。例如:
public class FinalTest {
final int a;
FinalTest(){
a=1; //必须在此初始化空final
System.out.println(a);
}
FinalTest(int i)
{
a = i; //必须在此初始化空final
System.out.println(a);
}
public static void main(String[] args) {
FinalTest ft1 = new FinalTest(); //output:1
FinalTest ft2 = new FinalTest(10); //output:10
//ft1.a++; //error:a是一个常量
}
}
3.当方法的参数列表被定义为final时,表示这个参数在方法体内部不能被改变。
4.final用于方法
作用一:将方法锁定,确保导出类拥有该方法但无法重写基类的方法,这是一种设计模式。
作用二:代码效率 ,现在已经不需要用final来进行优化了,编译器和JVM会去处理
5.final用于类
表明此类不允许别的类继承它
- Final关键字
- final关键字
- final关键字
- final关键字
- final关键字
- final 关键字
- final关键字
- Final 关键字
- Final关键字
- 关键字 final
- final关键字
- final关键字
- final关键字
- 关键字final
- Final 关键字
- final关键字
- final关键字
- final 关键字
- 数据库 - 数据依赖的公理系统
- OV7620摄像头使用
- 我在安装虚拟机和Hadoop过程中遇到的问题和解决方法
- Windows HOOK API (二)
- 191-number of 1 bits-字符串相关
- final关键字
- How long does it take to make a context switch?
- 字符串比较器
- C#特性(Attribute)之预定义特性(Conditional)
- 编程之美初赛第二场 攻城略地(贪心,图论)
- HDU-3749(点双连通分量-并查集)
- 和lastTime相比是否已过去一个小时
- 正则表达式 学习笔记
- R语言学习-对象处理实用函数