final的意義:
final在java中的意思是表示最終的,沒法改變的意思。java
final的做用:
常見的四種用法:
1.能夠用來修飾一個類 格式: public final class 類名稱{}
2.能夠修飾一個方法 格式: 修飾符 final 返回值類型 方法名稱(參數列表){方法體內容}
3.能夠修飾一個局部變量 格式: final 變量類型 變量名;
4.能夠修飾一個成員變量 格式:權限修飾符 final 變量類型 變量名;ide
final修飾類不能夠被繼承,可是能夠繼承其餘類,使用方式跟其它類同樣。
class Parent {} final class Person extends Parent{} //能夠繼承Parent類 class Child extends Person{} //不能繼承Person類
final修飾的變量稱爲常量,這些變量只能賦值一次,但能夠裝類用於計算。
final int i = 20; i = 30; //賦值報錯,final修飾的變量只能賦值一次
final修飾的方法,不能夠被覆蓋(不能夠重寫),但能夠繼承使用
class Parent { // final修飾的方法,不能夠被覆蓋,但能夠繼承使用 public final void method1(){} //這個方法不能夠重寫 public void method2(){} } class Child extends Parent { //能夠重寫method2方法 public final void method2(){} }
final修飾成員變量,固定的不是內存默認值,須要在建立對象前賦值,手動賦值,不然報錯,必須保證只能賦值一次
一、成員變是的賦值有二種實現方式,一種是定義的時候直接賦值,變量=賦值this
public class ParentDemo { final int age=0; public ParentDemo(int age){ this.age=age;//會報錯,由於前面已經賦值了, } }
二、另外一種,採用構造方法賦值code
public class ParentDemo { final int age; public ParentDemo(int age){ this.age=age;//編譯經過, } }
注意:
final修飾的是在編譯時不能肯定值,只有在運行時才能肯定的值,因此它是一個運行時常量對象