【Java】abstract,final,static,private,protected,public的區別

【abstract】抽象的

1. abstract可以修飾類和成員方法,被abstract修飾的類稱爲抽象類,被abstract修飾成員方法叫抽象方法。抽象類不一定有抽象方法,但擁有抽象方法的類一定是抽象類;

2. 被abstract修飾的類不能直接實例化,需要通過子類實現,所以抽象類一定有子類;

3. 繼承抽象類的子類必須要重寫抽象類中被abstract修飾的抽象方法,如果不繼承就必須要把自己變成抽象的子類。

【final】最終的

1. final可以修飾類,成員變量,成員方法,局部變量/形參。

2. final修飾的類不能被繼承(即不能有子類);

3. final修飾的方法不能被重寫;

4. final修飾的成員變量是常量,必須在定義時就必須給一個終值,並且不能改變,不能重新賦值;

5. final修飾的局部變量、形參只能接收賦值一次,一旦賦值成功,就不能改變,不能重新賦值。

【static】靜態的

1. static 可以修飾成員變量,成員方法;被static修飾的會被當前類的所有對象共享;

2. static 修飾的成員變量和成員方法會被放在JVM的靜態方法區,隨着類的加載而加載,可以使用類名或引用調用;

3. static修飾的成員方法只能調用static修飾的成員變量,非靜態的成員變量不能調用;

【private】私有的

1. private可以修飾成員變量和成員方法;

2. 被private修飾的成員變量和成員方法只能被當前類訪問,其他類不能訪問;

3. 被private修飾的成員方法不能被重寫。

【protected】

1. protected 可以修飾成員變量和成員方法;

2. 被protected修飾的成員變量和成員方法可以被當前類和當前類的子類訪問,其他類不能訪問;

3. 被protected修飾的成員方法可以被子類重寫

【public】公共的

1. public修飾的類,成員變量,成員方法都是公共的,可以被所有類直接訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章