修飾訪問符
❶ java中有幾種修飾符
java中的修飾符分為類修飾符,欄位修飾符,方法修飾符。根據功能的不同,主要分為以下五種。
1、許可權訪問修飾符
public,protected,default,private,這四種級別的修飾符都可以用來修飾類、方法和欄位。
(1)修飾訪問符擴展閱讀:
修飾符的特點:
static是一個修飾符,用於修飾成員(成員變數和成員函數)
靜態成員隨著類的載入而載入。靜態成員優先於對象存在。靜態成員被所有對象所共享靜態成員多了一個中調用方式,可以被類名直接調用。
使用的注意事項:
靜態方法只能訪問靜態成員, 非靜態方法既可以訪問靜態又可以訪問非靜態。靜態方法中不可以定義this,super關鍵字。因為this代表是對象。而靜態存在時,有可能沒有對象。所以靜態方法運行時,this是沒有任何對象代表的。
簡單說,先進內存的數據不可以訪問後進內存的數據,可是後進內存數據可以訪問先進內存的數據。主函數是靜態的。
❷ java 的訪問修飾符是什麼
Java中的訪問修飾符
Java面向對象的基本思想之一是封裝細節並且公開介面。Java語言採用訪問控制修飾符來控制類及類的方法和變數的訪問許可權,從而向使用者暴露介面,但隱藏實現細節。訪問控制分為四種級別:
(1)public: 用public修飾的類、類屬變數及方法,包內及包外的任何類(包括子類和普通類)均可以訪問;
(2)protected: 用protected修飾的類、類屬變數及方法,包內的任何類及包外那些繼承了該類的子類才能訪問(此處稍後解釋),protected重點突出繼承;
(3)default: 如果一個類、類屬變數及方法沒有用任何修飾符(即沒有用public、protected及private中任何一種修飾),則其訪問許可權為default(默認訪問許可權)。默
認訪問許可權的類、類屬變數及方法,包內的任何類(包括繼承了此類的子類)都可以訪問它,而對於包外的任何類都不能訪問它(包括包外繼承了此類的子類)。default重點突出包;
(4)private: 用private修飾的類、類屬變數及方法,只有本類可以訪問,而包內包外的任何類均不能訪問它。
網上一些資料及一些書上用表格對java訪問修飾符做了清楚的總結,如下表所示:
重要總結:通過上面的分析,我們可以看到:
1.public、private和protected對我們來說沒有任何異議。
2. 頂層類只能用public訪問修飾符和default(默認)訪問修飾符修飾,其中用默認修飾符修飾的類(及沒有任何修飾符的類,如class B{})不能被其他包中的類繼承,這也說明了default(默認)訪問修飾符突出的是包許可權
3. protected:本人做了一次實驗,發現在不同包的子類中,new一個父類對象,並用該父類對象去訪問父類中的用protected修飾的類屬變數和方法時不能訪問,而new一個子類對象時,子類對象可以訪問(說明protected修飾的類可以被其他包中的類繼承)。也可以在子類重寫父類的方法中使用super關鍵字調用。這豈不是和上面表格中的總結(紅色對勾)沖突了?本人也是百思不得其解。最後在網上找到了一個相對比較認可的解釋,如下:
protected修飾符的修飾的成員變數和方法也稱為受保護的成員變數和方法, 受保護的成員變數和方法可以在本類或同一個包中的其它類(包括子類)中通過類的實例進行訪問,也可以被同一個包中的類或不同包中的類繼承,但是不能在不同包中的其它類(包括子類)中通過類的實例進行訪問。
4. 如果一個類使用public修飾,那該類的類名必須與他所在的源文件名相同。一個.java源文件中有且只有一個public類,頂層類只能用public和默認修飾符(即無修飾符)修飾;
5.final修飾的類不能被繼承,沒有子類。
6.abstract修飾的類不能被實例化,必須被子類繼承。類只要有一個抽象方法就必定是抽象類,但抽象類不一定要有抽象方法。
最終總結,就一句話:protected修飾符所修飾的類(這句話中指父類)屬成員變數和方法,只可以被子類訪問,而不管子類是不是和父類位於同一個包中。default修飾符所修飾的類屬成員變數和方法,只可被同一個包中的其他類訪問,而不管其他類是不是該類的子類。protected屬於子類限制修飾符,而default屬於包限制修飾符。
❸ java中private是什麼意思
Java中的private是一種訪問修飾符,用於限制對類的成員變數和方法的訪問。在使用private修飾符時,只有在該類中才能訪問該成員變數或方法,而不能在類外部直接訪問。這樣可以保護該成員變數或方法,使它們不受到不想要的外部訪問干擾,增加程序的安全性和穩定性。
Java的private修飾符主要應用於面向對象程序設計的封裝特性。通過封裝,可以將數據和行為組合成一個類,並隱藏對象的內部細節,只暴露類的介面。私有成員變數和方法可以保護類的內部實現細節,讓類的使用者只能通過定義的介面來訪問和操作對象,從而更加安全和可靠地使用類。
在Java中,使用private修飾符可以有效地實現信息隱藏,避免在程序設計中出現數據被非法讀取、篡改等問題。同時,還可以通過其它訪問修飾符(如public、protected、default)來控制類的成員變數和方法的訪問范圍,從而提高程序的靈活性和可維護性。因此,在Java編程中,合理使用private修飾符可以讓程序更加健壯和可靠。
❹ 訪問修飾符有哪些
訪問修飾符(Access Modifiers)主要有四種,包括:public、private、protected和默認修飾符(不寫或者稱為包級可見)。
以下是詳細的解釋:
public修飾符:
被public修飾的成員可以在任何地方被訪問,無論是該類的內部還是外部,甚至在不同的包或者類中都可以直接訪問。它是訪問許可權最開放的一種修飾符。
private修飾符:
被private修飾的成員只能在該類內部被訪問,類外部無法直接訪問。這是一種訪問許可權最為限制性的修飾符,常用於保護類的內部數據不被外部隨意訪問或修改。
protected修飾符:
被protected修飾的成員可以在該類中被訪問,還可以在相同包中的其他類中被訪問,甚至可以在不同的包中被訪問,但前提是需要通過繼承該類的子類來訪問。它是一種介於public和private之間的訪問修飾符。
默認修飾符(不寫或者稱為包級可見):
當成員不使用任何訪問修飾符時,它默認是包級可見的。這意味著該成員可以在同一個包中的其他類中被訪問,但在包外部則無法直接訪問。這種默認修飾符常用於同一包內類間的交互。
以上就是Java中的四種訪問修飾符,它們分別定義了類、方法、屬性等的可見性范圍,幫助開發者更好地控制對成員變數的訪問許可權,確保數據的安全性和封裝性。