java類,方法,變數的說明符pr…

來源:互聯網
上載者:User

看了孫鑫的視頻,對Java的中對類,方法和變數的修飾符做了個小總結;

 

Public

Private

protected


預設(default)


解釋說明:


在任何類中都能調用


只有在同類中可以調用


同包,子類(包括不同包的子類)可以調用;


同包中的所有類都可以訪問,但是如果子類(不在同一個包中),則不能訪問


同類


可以


可以


可以


可以


同包


可以

 


可以


可以


子類


可以

 


可以

 


通用性

 

 

 

而如用final修飾是為了確保某個函數的行為在繼承過程中不變,如java中的String類不可以被繼承,而用final修飾的方法不能被覆蓋;有時候我們在final前面加上static,大家知道,static修飾的變數是屬於類的本身的,其實用static
final
來修飾變數是為了節約記憶體中的空間,因為不用static修飾的變數,每個對象在記憶體中都有一份它的拷貝,那麼則視為一種冗餘,其實final是最終的,我們是不希望它被改變的,那麼就在聲明前加上static
這樣的話,就可以節約記憶體空間,何樂而不為呢;相比於在子類中不能繼承,實際上private,static自然就是final方法;

而對於abstract修飾的方法,稱為抽象方法,抽象方法的類必須為抽象類別;抽象類別不可以執行個體化,因為它的行為沒有確定;因此,我們可以將一個類聲明為一個抽象類別,避免由這個類產生的任何對象;

native方法是Java使用者可以使用,但是不可以編寫的方法,這個是java本地介面,由於筆者閱曆有限,所以不做解釋;

interface中的所有方法都是public abstract,當不加修飾符的時候,預設的就是public
abstract; 還有一點值得注意,當實作類別中沒有完全實現interface中的方法時,則這個類是抽象類別(abstract);當然介面中聲明方法不可以使用上面的native,static,final,synchronized,private,protected等修飾符;預設的介面只能在一個包中被使用,介面中可以有資料成員,而這些成員預設是的public
static final的靜態常量;

synchronized同步是Java線程中用過,等看到線程的時候,在做解釋;

望高手不吝賜教

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.