java中public,protected,private關鍵字以及預設訪問許可權修飾符的用法細節
設ParentClass類當中有一個fun方法,所有繼承該類的子類稱之為SubClass。
一、public關鍵字:
使用public修飾fun。
1.同包下:
(1)同包子類下,例項化得到ParentClass物件,可以訪問public修飾的方法或屬性。
(2)同包子類下,例項化得到SubClass物件,可以訪問public修飾的方法或屬性。
ps:上圖中的 ParentClass物件也可以通過new SubClass()例項化,這被稱為繼承多型,也是可以訪問的。
(3)同包非子類下,例項化得到ParentClass物件,可以訪問public修飾的方法或屬性。
(4)同包非子類下,例項化得到SubClass物件,不能訪問public修飾的方法或屬性。
2.不同包下:
(1)不同包子類下,例項化得到ParentClass物件,可以訪問public修飾的方法或屬性。
(2)不同包子類下,例項化得到SubClass物件,可以訪問public修飾的方法或屬性。
ps:上圖中的 ParentClass物件也可以通過new SubClass()例項化,這被稱為繼承多型,也是可以訪問的。
(3)不同包非子類下,例項化得到ParentClass物件,可以訪問public修飾的方法或屬性。
(4)不同包非子類下,例項化得到SubClass物件,不能訪問public修飾的方法或屬性。
二、protected關鍵字:
使用protected修飾fun。
1.同包下:
(1)同包子類下,例項化得到ParentClass物件,可以訪問protected修飾的方法或屬性。
(2)同包子類下,例項化得到SubClass物件,可以訪問protected修飾的方法或屬性。
ps:上圖中的 ParentClass物件也可以通過new SubClass()例項化,這被稱為繼承多型,也是可以訪問的。
(3)同包非子類下, 例項化得到ParentClass物件,可以訪問protected修飾的方法或屬性。
(4)同包非子類下,例項化得到SubClass物件,不能訪問protected修飾的方法或屬性。
2.不同包下:
(1)不同包子類下,例項化得到ParentClass物件,不能訪問protected修飾的方法或屬性。
(2)不同包子類下,例項化得到SubClass物件,可以訪問protected修飾的方法或屬性。
ps:上圖中的 ParentClass物件也可以通過new SubClass()例項化,這被稱為繼承多型,也是不能訪問的。
(3)不同包非子類下,例項化得到ParentClass物件,不能訪問protected修飾的方法或屬性。
(4)不同包非子類下,例項化得到SubClass物件,不能訪問protected修飾的方法或屬性。
三、private關鍵字:
使用private修飾的方法或屬性,只能在本類中被訪問。
四、預設訪問許可權:
不給fun加訪問許可權修飾符。
1.同包下:
(1)同包子類下,例項化得到ParentClass物件,可以訪問預設訪問許可權修飾的方法或屬性。
(2)同包子類下,例項化得到SubClass物件,可以訪問預設訪問許可權修飾的方法或屬性。
ps:上圖中的 ParentClass物件也可以通過new SubClass()例項化,這被稱為繼承多型,也是可以訪問的。
(3)同包非子類下,例項化得到ParentClass物件,可以訪問預設訪問許可權修飾的方法或屬性。
(4)同包非子類下,例項化得到SubClass物件,不能訪問預設訪問許可權修飾的方法或屬性。
2.不同包下:
(1)不同包子類下,例項化得到ParentClass物件,不能訪問預設訪問許可權修飾的方法或屬性。
(2)不同包子類下,例項化得到SubClass物件,不能訪問預設訪問許可權修飾的方法或屬性。
ps:上圖中的 ParentClass物件也可以通過new SubClass()例項化,這被稱為繼承多型,也是不能訪問的。
(3)不同包非子類下,例項化得到ParentClass物件,不能訪問預設訪問許可權修飾的方法或屬性。
(4)不同包非子類下,例項化得到SubClass物件,不能訪問預設訪問許可權修飾的方法或屬性。
相關文章
- #Java教程:訪問修飾符:public、protected、預設、private @FDDLCJava
- public, private, protected 訪問許可權訪問許可權
- c# public_protected_private許可權訪問符_屬性訪問器get_setC#
- C++中類繼承public,protected和private關鍵字作用詳解及派生類的訪問許可權C++繼承訪問許可權
- 面試題 private protected public default修飾符的 作用域面試題
- Java 的包, 許可權修飾符與final關鍵字Java
- 物件與引用,static關鍵字,程式碼塊,包,訪問許可權修飾符物件訪問許可權
- Java 訪問許可權修飾符學習筆記Java訪問許可權筆記
- Java入門筆記(六)——訪問許可權修飾符Java筆記訪問許可權
- 許可權修飾符
- java中的 public protected friendly privateJava
- java oop 修飾符&關鍵字JavaOOP
- Java:談談protected訪問許可權薦Java訪問許可權
- Java中”失效”的private修飾符解析Java
- java中public private protected default的區別Java
- 深入理解 Java 中 protected 修飾符Java
- Java 類與物件(繼承extends super關鍵詞 方法重寫 抽象abstract 訪問修飾符/許可權控制符)Java物件繼承抽象
- Java修飾符關鍵字的順序Java
- 關於Java中各種修飾符與訪問修飾符的說明 (轉)Java
- Java的訪問修飾符Java
- Java之private關鍵字修飾成員變數Java變數
- php class中public,private,protected,static的區別,以及例項PHP
- Java的“友好的”訪問指示符(修飾符)Java
- java中final修飾符的用法Java
- PHP 物件導向 (一)許可權修飾符PHP物件
- 訪問修飾符
- C#中public、private、protected、internal、protected internal (轉載)C#
- Java修飾符關鍵詞大全Java
- GitHub的Repository許可權將public轉為privateGithub
- Oracle使用者訪問許可權與PUBLIC角色的關係Oracle訪問許可權
- 深入理解 Java 修飾符與封裝:訪問許可權、行為控制與資料隱藏Java 修飾符封裝訪問許可權行為控制資料隱藏
- java的訪問許可權Java訪問許可權
- JavaScript實現類的private、protected、public、static以及繼承JavaScript繼承
- private,public,protected,static不可以修飾區域性變數,方法裡的變數變數
- 【Java】private,protected,public,default的區別(形象生動)Java
- java中的修飾符Java
- TypeScript 類訪問修飾符TypeScript
- 再學Java 之 private、protected、public和default的作用域Java