java學習筆記47 final修飾符

2021-09-12 19:33:03 字數 1086 閱讀 9684

1)修飾類

用final修飾的類不能被繼承,沒有子類。

例如:我們是無法寫乙個類去繼承string類,然後對string型別擴充套件的,因為api中已經被string類定義為final的了.

我們也可以定義final修飾的類:

public final class action

//編譯報錯

public class go extends action

2)修飾方法

用final修飾的方法能被繼承,但是不能被子類的重寫。

例如:每個類都是object類的子類,繼承了object中的眾多方法,在子類中可以重寫tostring方法、equals方法等,但是不能重寫getclass方法 wait方法等,因為這些方法都是使用fianl修飾的。

我們也可以定義final修飾的方法:

public class person

}//編譯報錯

public class student extends person

}3)修飾變數

用final修飾的變數表示常量,只能被賦一次值.其實使用final修飾的變數也就成了常量了,因為值不會再變了。

修飾區域性變數:

例如:public class person

}public class person

}修飾成員變數:

非靜態成員變數:

public class person

只有一次機會,可以給此變數a賦值的位置:

宣告的同時賦值

匿名**塊中賦值

構造器中賦值(類**現的所有構造器都要寫)

靜態成員變數:

public class person

只有一次機會,可以給此變數a賦值的位置:

宣告的同時賦值

靜態**塊中賦值

4)修飾引用變數

main:

final student s = new student();

//編譯通過

s.setname("tom");

s.setname("zs");

//編譯報錯,不能修改引用s指向的記憶體位址

s = new student();

java學習筆記 final

2007.6.12 1 關於final 1 用final宣告的變數,相當於將該變數當作乙個常數,不能改變,所以其使用 之前必須初始化,宣告時不初始化也可以.2 用final宣告方法,作用有兩個 a 表示該方法在被繼承時不可重寫.b 處於執行效率的考慮 建議方法的 較少的時候才用final 因為用fi...

Java學習筆記 final關鍵字

package cn.itcast.demo01 final 最終的,不可變的 常見四種用法 1.用來修飾類 2.修飾方法 3.修飾區域性變數 4.修飾成員變數 public class demo01final package cn.itcast.demo01 對於成員變數來說,若用final修飾,...

JAVA學習 final用法

final 最終的 可以用來修飾類 屬性 方法 1.final修飾類 這個類就不能被繼承。如 string類 stringbuffer類 system類 2.final修飾方法 不能被重寫。如 object類的getclass 3.final修飾屬性 此屬性就是乙個常量,一旦初始化後,不可再被賦值。...