java中四種訪問修飾符區別及詳解全過程
客戶端程式設計師:即在其應用中使用資料類型的類消費者,他的目標是收集各種用來實現快速應用開發的類別。
類別創建者:即建立新資料類型的程式設計師,目標是建構類別。
存取控制存在的原因:a、讓客戶端程式設計師無法觸及他們不應該觸及的部分 ; b、允許庫設計者可以改變類別內部的工作方式而不用擔心會影響到客戶端程式設計師
java的四個關鍵字:public、protected、default、private(他們決定了緊接在後被定義的東西可以被誰使用)
適用範圍
∨ ∨ ∨ ∨ (對任何人都是可用的)
protect 〠∠ protect 〠∠ 〠 vate相同的權限)
default ∨ ∨ × × 中包存取權限,即整個包在整個包中。被訪問)
private ∨ × × × (除類型創建者和類型的內部方法之外的任何人都不能訪問的元素)
以下,用代碼進行詳解(建四個類Person Student Teacher Parents 和一個測試類別)
package com.zq.demo.test1; /** * 类内 * @author Administrator */ public class Person { public String uname = "王五"; public void introduceMyself(){ System.out.println(uname); } } package com.zq.demo.test1; //同一个包 public class Student { Person p = new Person(); public void test(){ System.out.println(p.uname); } } package com.zq.demo.test1; //子类 public class Teacher extends Person{ public int age; Person p = new Person(); public void test1(){ System.out.println(p.uname); } } package com.zq.demo.test2; //不同包 import com.zq.demo.test1.Person; public class Parents { public String uname = "haha"; Person p = new Person(); public void test2(){ System.out.println(p.uname); } }
用同樣的四個類別 來測試protected
在將Person .uname is not visible (說明不能跨包)
其他三個無影響
說明除了跨包 其他均不影響訪問
private
?類別中有關uname的set、get方法可以進行存取default

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)