1.3.2類聲明和修飾符(1)

修飾符分爲以下兩類:

*訪問修飾符:public、protected和private

*非訪問修飾符(包括strictfp、final和abstract)。


 先介紹訪問修飾符,因此,要學習如何限制或允許訪問所創建的類。Java中的訪問控制需要一些技巧,因爲它由四種訪問控制(訪問級別),但只有三種訪問修飾符。第四個訪問控制級別(稱謂默認訪問或包級訪問)是指當不使用三種訪問修飾符中的任何一種時所得到的訪問控制。換句話說,無論是否顯式的鍵入,聲明的每個類、方法和實例變量都有一種訪問控制。儘管所有4種訪問控制(也就是所有三種修飾符)都使用於多數方法和變量聲明,但是,聲明類時只能使用public或默認訪問,另外兩種訪問控制級別沒有任何意義後面將會看到這一點。



類訪問

 訪問類意味着什麼呢?當我們說來自一個類(類A)的代碼可以訪問另一個類(B)時,就意味着類A能夠執行以下三種操作之一:


*創建類B的一個實例(instance)。

*擴展類B(換句話說,類A成爲類B的一個子類)。

*訪問(access)類B中的一些方法和變量,這取決於這些方法和變量的訪問控制。

 在效果上,訪問意味着可見性(visibility)。如果類A不能看到類B,則類B內的方法和變量的訪問級別無關緊要,類A將沒有任何方法訪問那些方法和變量。


默認訪問。具有默認訪問的類在聲明時其前面沒有任何修飾符,它是在類聲明中不鍵入修飾符時所得到的訪問控制。可以將默認訪問看成包級訪問,因爲具有默認訪問的類只能被同一個包中的類看到。例如,如果A類和B類位於不同的包中,類A具有默認訪問,則類B不能創建類B的實例,或者甚至不能聲明類A的變量或返回類型。實際上,類A必須假定類B不存在,否則編譯器就會報錯。


公共訪問。聲明時帶public關鍵字的類爲來自所有包的所有類提供對公共類的訪問。換句話說,Java Universe(JU)中的所有類都可以訪問public類。但是不要忘記,如果試圖使用的public類與你正在編寫的類位於不同的包中,那麼仍然需要導入public類。


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