Java基礎-----final關鍵字
阿新 • • 發佈:2018-12-23
final概述
final可以修飾類,方法和變數。
特點
(1)final可以修飾類,該類不能被繼承。
(2)final可以修飾方法,該方法不能被重寫。
(3)final可以修飾變數,該變數不能被重新賦值。因為這個變數為常量。
final修飾區域性變數的問題
基本資料型別:基本資料型別的值不能發生改變。
引用資料型別:引用資料型別的地址值不能發生改變,但是,該物件的堆記憶體的值是可以改變的。
package duixiang; class StudentTest { int age = 10; } public class FinalTest { public static void main(String[] args) { //區域性變數是基本資料型別 int x = 100; x = 1000; System.out.println(x); final int y = 10; //無法為最終變數y分配值 //y=100; System.out.println(y); System.out.println("-----------------"); //區域性變數是引用資料型別 StudentTest s = new StudentTest(); s.age = 100; System.out.println(s.age); final StudentTest s1 = new StudentTest(); s1.age = 300; System.out.println(s1.age); } }
執行結果如下:
final修飾變數的初始化時機
(1)被final修飾的變數只能賦值一次。
(2)再構造方法完畢前。(非靜態的常量)