final 通常是指“无法改变的事”。下面就介绍final在类,方法,变量中的用法。
1.final可以修饰类,该类不能被继承。
2.final可以修饰方法,该方法不能被重写。
class Fu { public final void show() { } } class Zi extends Fu { // Zi中的show()无法覆盖Fu中的show() public void show() { } } class FinalDemo { public static void main(String[] args) { Zi z = new Zi(); z.show(); } }
3.final修饰变量,该变量是一个常量。
对于基本类型final使数值恒定不变。
引用类型 地址值不能发生改变,但是对象的内容是可以改变的
1 class Student { 2 int age = 10; 3 } 4 5 class FinalTest { 6 public static void main(String[] args) { 7 //局部变量是基本数据类型 8 int x = 10; 9 x = 100; 10 System.out.println(x); 11 final int y = 10; 12 //无法为最终变量y分配值 13 //y = 100; 14 System.out.println(y); 15 System.out.println("--------------"); 16 17 //局部变量是引用数据类型 18 Student s = new Student(); 19 System.out.println(s.age); 20 s.age = 100; 21 System.out.println(s.age); 22 System.out.println("--------------"); 23 24 final Student ss = new Student(); 25 System.out.println(ss.age); 26 ss.age = 100; 27 System.out.println(ss.age); 28 29 //重新分配内存空间 30 //无法为最终变量ss分配值 31 ss = new Student(); 32 } 33 }
时间: 2024-10-12 21:22:55