Java的常量及final修飾符
阿新 • • 發佈:2021-07-05
Java的常量及final修飾符
常量
- 常量(Constant):初始化(initialize)後不能再改變的值!不會變動的值。
- 常量可以理解為一種特殊的變數,它的值被設定後,在程式執行過程中不允許被改變。
- final 常量名 = 值;
- final double PI = 3.14;
- 常用名一般使用大寫字元。
package com.cnblogs; public class MyTest { //常量 修飾符 常量型別 常量名 = 常量值 final double ADC = 500.0; final static double PI = 3.14; public static void main(String args[]) { //注意有無static的區別 MyTest qi = new MyTest(); System.out.println(qi.ADC);//500.0 System.out.println(PI);//3.14 } }
final修飾符
- final可以修飾類,方法,成員變數,區域性變數。
- final修飾類,那麼這個類將不能繼承,也就是太監類,有爹沒兒。例如String類就是一個不可改變的類。特別提醒,final修飾的類,其屬性和方法不是預設final修飾的。
- final修飾類 或 方法的時候,不能與abstract修飾詞同時使用,編譯器會報錯。因為final修飾的是不可改變,而abstract修飾的方法或者類。是希望被繼承,覆蓋重寫。
- final修飾成員變數時,需要注意,初始化,賦值。因為final修飾後的成員變數,系統不會給他預設賦值。也就是說 final string str;系統不會給他預設值為null。 並且編譯器會報錯。這個時候給str賦值有兩種方法,一種是直接賦值,一種是在構造器裡面進行賦值。
- final修飾,區域性變數的時候,對於基本型別而言,不可改變,引用地址和資料都是不可可變。在區域性變數裡,對於引用型別而言,引用地址不可改變,但其內容可以改變。
package com.cnblogs; public class MyTest { //final String name; public MyTest(String string) { name = string; } public static void main(String args[]) { //final 修飾區域性變數(基本型別) final int a = 15; System.out.println(a); //final 修飾區域性變數(引用型別) final MyTest stu = new MyTest("akl"); System.out.println(stu.name);//akl stu.name = "qi"; System.out.println(stu.name);//qi } }