訪問控制符
:類的訪問控制符有四種:
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 讓那些受它控制的成員變數不僅能夠在當前類中訪問。也可在同樣映像的其它程式中訪問。什麼是 同一映像 就是編譯後...