1、关键字:final
在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”。
- final标记的类不能被继承。提高安全性,提高程序的可读性。
- final标记的方法不能被子类重写。
- final标记的变量(成员变量或局部变量)即称为常量。名称大写,且只能被赋值一次。
- final标记的成员变量必须在声明时或在每个构造器中或代码块中显式赋值,然后才能使用。
2、final修饰类
final class A{ }
class B extends A{ //错误,不能被继承。 }
3、final修饰方法
class A {
public final void print() {
System.out.println("A");
}
}
class B extends A {
public void print() {
// 错误,不能被重写。
System.out.println("中国");
}
}
4、final修饰变量——常量
class A {
private final String INFO = "zhongguoo";
//声明常量
public void print() {
//The final field A.INFO cannot be assigned
//INFO = "中国";
}
}
常量名要大写,内容不可修改。
5、static final——全局常量
public final class Test {
public static int totalNumber = 5;
public final int ID;
public Test() {
ID = ++totalNumber;
// 可在构造器中给final修饰的“变量”赋值
}
public static void main(String[] args) {
Test t = new Test();
System.out.println(t.ID);
final int I = 10;
final int J;
J = 20;
J = 30; // 非法
}
}