final 是最终的意思, 可以用来修饰类,方法,变量。
修饰类, 该类为最终类,就不能被继承了。
修饰方法, 该方法为最终方法,就不能被重写了。
修饰变量, 该变量为最终变量,只能赋值一次。
final修饰的基本类型变量, 变量存储的数据不能改变。
final 修饰的引用类型的变量,变量的地址不能改变,但地址所指向的对象的内容是可以改变的。
static final修饰的成员变量被称为常量
public class TestFinal {
/**
* static final 修饰的成员变量是常量,建议用大写字母,多个单词用下划线拼接
*/
public static final String SCHOOL_NAME = "XX小学";
public final String username = "张三";//这种用法没什么实际意义,
public String password = "123456";
public static void main(String[] args) {
//final 修饰变量
//局部量, 实例成员变量 , 静态变量(类变量)
final int a = 10;
//a = 11; //只能被赋值一次
TestFinal testFinal = new TestFinal();
//testFinal.username = "李四";//报错
final TestFinal testFinal1 = new TestFinal();
testFinal1.password = "123";
testFinal1.password = "456";
}
}
final class A {}
//class B extends A{}
class B {
public final void run() {
}
}
class C extends B {
//public void run(){}
}