文章目录
一、final的定义
在Java中声明类、变量和方法时,可使用关键字final来修饰,表示“最终的”。
二、final的使用方法
1.final标记的类不能被继承
提高安全性,提高程序的可读性。
例如:String类、System类、StringBuffer类
2.final标记的方法不能被子类重写
例如:Object类中的getClass()
3.final标记的变量(成员变量或局部变量)即称为常量。名称大写,且只能被赋值一次
final标记的成员变量必须在声明时或在每个构造器中或代码块中显式赋
值,然后才能使用。
例如:final double MY_PI = 3.14
三、final的代码示例
1.final修饰类
final class A{
}
class B extends A{ //错误,不能被继承。
}
2.final修饰方法
class A {
public final void print() {
System.out.println("A");
}
}
class B extends A {
public void print() { // 错误,不能被重写。
}
}
3.final修饰变量–常量
class A {
private final String INFO = "atguigu"; //声明常量
public void print() {
//The final field A.INFO cannot be assigned
}
}
常量名要大写,内容不可修改
static final:全局常量
4.关键字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; // 非法
}
}