国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

淺談java面向對象中四種權限

2024-07-13 10:14:32
字體:
來源:轉載
供稿:網友

俗話說沒有規矩就沒有方圓,java/279894.html">java作為一門嚴謹的面向對象的高級編程語言,自然對權限整個重要的問題有嚴格的控制。

Java中,可以通過一些Java關鍵字,來設置訪問控制權限;

主要有 private(私有), package(包訪問權限),protected(子類訪問權限),public(公共訪問權限)

在java里,這些語句都可以修飾類中的成員變量和方法,但是只有public和友好型可以修飾類。舉個例子:

接下來就詳細解釋一下這幾種權限的差別(博客最后有表格)按權限由低到高:(高權限有低權限所有特性)

Private:

類中的所有private方法和private成員變量只能在類中訪問而不能在其他類中訪問。

例如:

package Main;public class Private {	private int a;	private int b;	Protected (){		this.a=1;		this.b=2;		//a和b只能在Private類中調用	}	private void set(){		System.out.println(""+a+""+b+"/n");	}	void Print(){		this.set();		//只能在這里用;	}}

友好型和protected:

如果在另一個類中聲明其他的一個類,如果這兩個在一個包中那么另一個類能訪問這個其他類的友好型變量不同包不能訪問:

如果在另一個B類中聲明其他的一個類A,如果這兩個在一個包中那么另一個類B也能能訪問這個其他類A的protected變量(或方法),如果不在一個包,那么如果類A有一個父類C如果,如果父類C中有一個protected變量(或方法),只要B,C在一個包中,B就能使用A中從父類繼承的protected方法。如果A是B的子類,如果AB不在一個包中,那么A可以使用B中protected方法。

例如:

package Main;import Protected.*;public class Main {	public static void main(String args[]){		Protected jkl=new Protected();		jkl.Print();		//調用jkl父類的protect方法 		Frindly prot =new Frindly();		System.out.println(prot.a);		//在Main類中調用友好型的變量 		prot.set();		//在Main類中調用友好型的方法	}}package Main;public class Frindly {	int a,b,c,d;	Frindly(){		a=b=c=d=1;	}	void set (){		System.out.print(""+a+" "+b+"/n");	}}package Main;public class Protectedfather{	protected int a;	private int b;	protected Protectedfather (){		this.a=1;		this.b=2;		//a和b只能在Protected中調用	}	private void set(){		System.out.println(""+a+""+b+"/n");	}	protected void Print(){		this.set();		//只能在這里用;	}}package Protected;import Main.*;public class Protected extends Protectedfather{	public Protected(){		super();		//在另一個包中調用里父類中的protect構造方法 		super.a=12;		//調用父類的protect變量	}}

Public:

如果類中的方法或者變量是public,那么就可以在別的類中調用,沒有限制(用在夸包)。A帶掉用別的包中的B類

package Main;import Public.*;public class Main {	public static void main(String args[]){		int a;		Public p=new Public();		//調用public類中的public方法 		a=p.a;		//調用Public類中的public變量 		p.set();	}}package Public;public class Public {	public int a=12;	public void set (){		System.out.println("OK/n");	}}

總結表格::

 


同一類

同包

不同包

 

子類

非子類

子類

非子類

Private

  否

友好型

Protected

Public

 

總結

以上就是本文關于淺談java面向對象中四種權限的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阿拉善左旗| 大邑县| 都匀市| 巴彦淖尔市| 浑源县| 万州区| 个旧市| 睢宁县| 贵阳市| 蒲城县| 临城县| 全南县| 巴彦淖尔市| 广安市| 桃江县| 海林市| 临泽县| 宁国市| 柯坪县| 清新县| 买车| 仁布县| 东阿县| 琼海市| 搜索| 迭部县| 秀山| 长乐市| 陵川县| 平湖市| 南京市| 扬中市| 绥棱县| 宽城| 禄丰县| 东宁县| 绥滨县| 长寿区| 信阳市| 永平县| 郁南县|