final 的一點知識

 Java 裏的 final 關鍵字定義的變量:不能修改(只能給一次賦值);

例如:

 

public class A{

public final StringBuilder sb;

public A() {

sb=new StringBuilder("origin");

}

public A(String s) {

sb=new StringBuilder(s);

}

 

public final void print(){

//sb=new StringBuilder();//The final field A.sb cannot be assigned

System.out.println(sb.toString());

}

}

 

 Java 裏的 final 關鍵字定義的方法:不能被覆蓋;

例如,一個匿名內部類繼承上面的 A 類:

new A(){

public String s="A var";

 

@Override

public void print() {  //Cannot override the final method from A,此處錯誤

//do sth

}

 

public void fun(){

System.out.println(s);

}

}.fun();

發佈了57 篇原創文章 · 獲贊 15 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章