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關鍵字作用詳解及派生類的訪問許可權C++繼承訪問許可權
- Java 的包, 許可權修飾符與final關鍵字Java
- 許可權修飾符和final關鍵字
- 物件與引用,static關鍵字,程式碼塊,包,訪問許可權修飾符物件訪問許可權
- Java入門筆記(六)——訪問許可權修飾符Java筆記訪問許可權
- final關鍵字、內部類、四種許可權修飾符
- 許可權修飾符
- java oop 修飾符&關鍵字JavaOOP
- Java 類與物件(繼承extends super關鍵詞 方法重寫 抽象abstract 訪問修飾符/許可權控制符)Java物件繼承抽象
- Java的訪問修飾符Java
- Java之private關鍵字修飾成員變數Java變數
- php class中public,private,protected,static的區別,以及例項PHP
- GitHub的Repository許可權將public轉為privateGithub
- 封裝、許可權修飾符、封裝的案例封裝
- 訪問修飾符
- PHP 物件導向 (一)許可權修飾符PHP物件
- 【Java】private,protected,public,default的區別(形象生動)Java
- private,public,protected,static不可以修飾區域性變數,方法裡的變數變數
- 深入理解 Java 修飾符與封裝:訪問許可權、行為控制與資料隱藏Java 修飾符封裝訪問許可權行為控制資料隱藏
- 四種許可權修飾符的簡單介紹
- Python 訪問限制 private publicPython
- TypeScript 類訪問修飾符TypeScript
- java中的修飾符Java
- Java 訪問許可權控制(6)Java訪問許可權
- Swift中private、fileprivate、public、open和internal許可權程式碼證明詳解Swift
- 許可權修飾符,方法及異常瞭解一下
- Vue - 按鍵修飾符 && 系統修飾符Vue
- c#封裝、訪問修飾符C#封裝
- C++學習——訪問修飾符C++
- JAVA基礎語法——識別符號、修飾符、關鍵字(個人整理總結)Java符號
- Java入門系列之訪問修飾符作用範圍Java
- Java 建構函式與修飾符詳解:初始化物件與控制許可權Java函式物件
- Java 修飾符Java 修飾符
- java修飾符Java
- C#基礎訪問修飾符概述C#
- 訪問修飾符你用對了嗎