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
小問題 關於在類裏面和類外面訪問私有數據的相關問題
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.