訪問控制符

2021-06-22 02:04:32 字數 1320 閱讀 9338

訪問控制符

:類的訪問控制符有四種: 

public  private  protected和預設

(即變數或方法前不新增訪問控制符) 

在乙個類的內部 所有成員可以相互訪問,訪問控制符是透明的;

訪問控制符是針對外部訪問而言的

在乙個類的外部 通過 

類物件名.私有成員名

的方式無法訪問該物件中的私有成員

,但可以訪問保護成員和公有成員

。下面舉乙個例子

例1:

class asd1       //8行

// 求周長

public int zhouchang()

// 求面積

public double area()

}public class asd

}

在命令列視窗下輸出結果為:

給外部的變數賦值,可以使用想31、32、33行那樣,也可以使用像5行到8行和34行那樣,但是一般推薦使用後者,因為後者不會直接的改變變數的值,使得程式本身更加安全

在本程式中,因為第2行的三個變數是私有的,所以不可以進行像第31、32、33行那裡那樣給變數賦值,若要進行這樣的賦值,需把2行的變數型別前邊的private去掉

在這4個訪問控制符中,一般public和private使用比較多,所以主要說這個

再舉乙個例子

例2;

class a		

private void g() }

public class asd

}

輸出結果為:

2023年5月15日09:41:44

本程式的結果並沒有什麼實際意義,下面將會通過這個程式說明一下public和private兩個訪問控制符的使用

由上面的**可以知曉,本程式定義了乙個public的int型變數,乙個private的int型變數,乙個public的方法,還有乙個private的方法,

首先要說的是,在f()和g()方法內部可以隨意使用i和j,因為它們同屬於乙個類中,而23行是沒有錯的,因為i是public的26行本身也沒有錯誤,但是如果去掉前面的注釋會報錯,這是因為f()方法中有g(),而g()方法中也有f(),這就形成了間接遞迴(關於遞迴,會在資料結構中說的,這裡不多說)

而25行27行會報錯,因為j和g()方法都是private的

【所有**均在windows系統下eclipse環境

jdk 1.7下執行

通過】

(如有錯誤,敬請指正)

訪問控制符

1 公共訪問控制符 public 如果乙個類被宣告為公共類,表明它可以被所有的其 它類所訪問和引用。用 public 修飾的類的域稱為公共域。如果公共域屬於乙個公共類,則它可以被所有的其他類所引用。2 私有訪問控制符 private 用 private 修飾的成員變數 域 只能被該類自身所訪 問,而...

訪問控制符

四種訪問控制級別 private 當前訪問許可權 被宣告為private的成員 只能被當前類中的其他成員訪問,不能在類外看到。什麼是封裝?封裝,就是隱藏實現細節 將屬性私有化 提供公有方法訪問私有屬性 通過這些公有方法訪問私有屬性 如何實現封裝 封裝的實現 修改3.5例項成員和類關係成員 stati...

objective c訪問控制符

objective c中成員變數的四個訪問控制符 private 僅僅有當前類的內部才幹訪問 public 全部人都可訪問 protected 僅僅限當前類和它的子類可以訪問 package 讓那些受它控制的成員變數不僅能夠在當前類中訪問。也可在同樣映像的其它程式中訪問。什麼是 同一映像 就是編譯後...