小問題 關於在類裏面和類外面訪問私有數據的相關問題

class  demo
{
	private int a = 0;
	protected int b = 0;
	int c  = 0;
	public int d = 0 ;
	static void function()
	{
		demo q = new demo();
		q.a = 2;
		System.out.println(q.a);
		q.b = 1;
		q.c = 1; 
		q.d = 1;
	}

}
class lianxi5
{
	public static void main(String [] args)
	{
		demo k = new demo();  
		k.a = 1;                  //在類外建立對象後去訪問該對象所在類的私有數據時 是會導致編譯失敗的的
		System.out.println(k.a);
		k.b = 1;
		k.c = 1; 
		k.d = 1;
		k.function();

	}
}
output
:
C:\Users\Administrator\Desktop\javatest>javac lianxi5.java
lianxi5.java:23: 錯誤: a可以在demo中訪問private
                k.a = 1;
                 ^
lianxi5.java:24: 錯誤: a可以在demo中訪問private
                System.out.println(k.a);
                                    ^
2 個錯誤

class  demo
{
	private int a = 0;
	protected int b = 0;
	int c  = 0;
	public int d = 0 ;
	static void function()
	{
		demo q = new demo();  //建立在本類中建立對象後也可以訪問該對象的私有數據。
		q.a = 2;
		System.out.println(q.a);
		q.b = 1;
		q.c = 1; 
		q.d = 1;
		// a = 1; //編譯失敗 靜態引用非靜態。
	}
	public static void main(String[] args) 
	{
		demo k = new demo();
		k.a = 1;
		System.out.println(k.a);
		k.b = 1;
		k.c = 1; 
		k.d = 1;
		k.function();
		// a = 1; //同樣編譯失敗 主函數是靜態的 引用非靜態。
}}
C:\Users\Administrator\Desktop\javatest>java lianxi5
1
2

發佈了22 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章