Java 修飾符
阿新 • • 發佈:2020-12-31
在Java中,關於修飾符可以分為訪問修飾符與非訪問修飾符兩種
一、訪問修飾符
通過訪問修飾符,我們可以對不同的類或者方法屬性來對其許可權進行一定的限制。在Java中,訪問修飾符有四種:
public
:公共成員修飾符,對所有的類都可見private
:私有成員修飾符,在同一類中可見protected
:保護成員修飾符,對同一包中的類和之類可見default
:預設,在同一包內可見
訪問修飾符可以對類、屬性、方法進行修飾,不過對其的使用是有一定的限制的,需要在正確的條件下使用正確的修飾符,這樣才能幫助我們更好的寫好程式
Java訪問修飾符限制
- 在Java中,一個原始檔中只能有一個公共類(由
public
修飾的類)private
修飾的成員變數或者方法不能被繼承- 父類中宣告為 public 的方法在子類中也必須為
public
- 父類中宣告為 protected 的方法在子類中要麼宣告為
protected
,要麼宣告為public
,不能宣告為private
。- 父類中宣告為
private
的方法,不能夠被繼承
二、非訪問修飾符
非訪問修飾符主要是對於成員的一些特殊屬性的修飾,主要功能也是為了完成一些特殊任務,主要有下面幾種:
final 修飾符:
該修飾符主要是用來對常量進行修飾的,當我們使用final
時,可以用來定義一個常量,這樣可以避免不小心修改某一常量的值的情況。如下,在嘗試修改final
final
修飾符對於類或方法的使用時,同樣也是有一些特性需要了解:
- 關於
final
修飾方法時,父類中的final
方法可以被子類繼承,但是不能被子類重寫。宣告final
方法的主要目的是防止該方法的內容被修改final
修飾類時,者該類不能被繼承
abstract修飾符:
abstract
從字面可以翻譯為抽象,事實也是如此。在Java中可以使用該修飾符來對類、屬性、方法來進行修飾,其主要的功能是為了將來對於該類進行一定的補充,主要的使用規則如下:
- 關於abstract對於類的修飾需要注意的是,如果一個類中有抽象函式或者方法,那麼該類一定要宣告為抽象類。
- 對於abstract宣告的方法被繼承時,一定要全部在子類中實現
具體使用方式為:
abstract class dmeo
{
abstract void print();
}
class Class02 extends dmeo {
void print()
{
System.out.println("print()方法一定要在之類中實現");
}
}
static修飾符:
靜態修飾符用來修飾靜態變數和靜態方法,兩者在使用時主要是有如下特點:
靜態變數:
- static 關鍵字用來宣告獨立於物件的靜態變數,無論一個類例項化多少物件,它的靜態變數只有一份拷貝。 靜態變數也被稱為類變數。區域性變數不能被宣告為 static 變數。
靜態方法:
- static 關鍵字用來宣告獨立於物件的靜態方法。靜態方法不能使用類的非靜態變數。靜態方法從引數列表得到資料,然後計算這些資料
而對於靜態類,在Java中只有內部類可以被宣告為靜態類