黑马程序员--Java学习10--访问权限
---------------------- ASP.Net+Unity開發(fā)、.Net培訓(xùn)、期待與您交流! ----------------------
一、訪問權(quán)限
1、私有變量和私有方法
????? 用關(guān)鍵字private 修飾的成員變量和方法稱為私有變量和私有方法,私有只在本類中有效,只有在本類中創(chuàng)建該類的對象時,這個對象才能訪問自己的私有成員變量和方法。
????? private 常用之一:將成員變量私有化,對外提供對應(yīng)的set,get方法對類進(jìn)行訪問,提高對數(shù)據(jù)的訪問安全性。
如:
class Tom {private float weight;//weight被修飾為私有的float型變量private float f(float a,float b) {//方法f是私有方法....} }????? 如果Tom類中的某個成員變量是私有類變量,那么在另一個類中,也不能通過類名Tom來操作這個私有類變量。如果Tom類中的某個方法是私有的類方法,那么在另一個類中,也不能通過類名來調(diào)用這個私有類方法。
2、共有變量和共有方法
???? 用public修飾的成員變量和方法稱為共有變量和共有方法。如:
class Tom {public float weight;//weight被修飾為public的float型變量public float f(float a,float b) {//方法f是public方法....} }????? 當(dāng)在任何一個類中用類Tom創(chuàng)建了一個對象后,該對象能訪問自己的public變量和類中的public方法。如:
class Jerry {void g() {Tom cat = new Tom();cat.weight = 23f;//合法cat.f(3,4);//合法} }????? 如果Tom 類中的某個成員變量是public類變量,那么在任何一個類中,也可以通過類名Tom來操作Tom的這個成員變量。如果Tom類中的某個方法是public類方法,那么在任何一個類中,也可以通過類名Tom 來訪問這個public方法。
3、受保護(hù)的成員變量和方法
????? 用protected修飾的成員變量和方法被稱為受保護(hù)的成員變量和受保護(hù)的方法。如:
class Tom {protected float weight;//weight被修飾為protected的float型變量protected float f(float a,float b) {//方法f是protected方法....} }???? 當(dāng)在另外一個類中用類Tom創(chuàng)建了一個對象后,如果這個類與類Tom 在同一個包中,那么該對象能訪問自己的protected變量和和Protected方法。在任何一個與Tom同一包中的類中,也可以通過Tom類的類名訪問Tom類的protected類變量和protected類方法。
??? 假如Jerry與Tom是在同一包中的類,那么,Jerry類中的cat.weight、cat.f(3,4)都是合法的:
class Jerry {void g() {Tom cat = new Tom();cat.weight = 23f;//合法cat.f(3,4);//合法} }
注:在后面介紹子類時,將介紹”受保護(hù)(protected)“和”友好的“之間在繼承方面的區(qū)別。
4、友好變量和友好方法
???? 不用private、public、protected修飾符的成員變量和方法被稱為友好變量和友好方法。如:
class Tom {float weight;//weight是友好的float型變量float f(float a,float b) {//方法f是友好方法....} }???? 當(dāng)在另一個類中用類Tom創(chuàng)建了一個對象后,如果這個類與Tom類中同一個包中,那么該對象能訪問自己的友好變量和友好方法。在任何一個與Tom同一包中的類中,也可以通過Tom 類的類名訪問Tom類的類友好變量和類友好方法。
??? 假如Jerry與Tom是在同一包中的類,那么,Jerry類中的cat.weight、cat.f(3,4)都是合法的:
class Jerry {void g() {Tom cat = new Tom();cat.weight = 23f;//合法cat.f(3,4);//合法} }??? 在源文件中編寫命名的類總是在同一包中。如果你在源文件中用import語句導(dǎo)入了另外一個包中的類,并用該類創(chuàng)建了一個對象,那么該類的這個對象不能訪問自己的友好變量和友好方法。
5、public類與友好類
???? ?類聲明時,如果關(guān)鍵字class前面加上public關(guān)鍵字,就稱這樣的類是一個public類,如:
public class A {.... }????? 可以在任何另外一個類中,使用public類創(chuàng)建對象。如果一個不加public修飾,如:
class A {.... }這樣的類稱為友好類,那么另外一個類中使用友好類創(chuàng)建對象時,要保證他們是在同一個包中。
注:(1)不能用protected和private修飾類
??????? (2)訪問權(quán)限的級別排列,按訪問權(quán)限從高到底排列序列是public、protected、友好的、private。
---------------------- ASP.Net+Unity開發(fā)、.Net培訓(xùn)、期待與您交流! ----------------------
總結(jié)
以上是生活随笔為你收集整理的黑马程序员--Java学习10--访问权限的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中兴笔试题目及答案(软件开发工程师)
- 下一篇: java美元兑换,(Java实现) 美元