[英]accessing private variables in JAVA (AIDE)
class a{
private int i=100;
a(){
//this.i=5;
}
}
class b extends a {
b( ){
//super.i=10;
a a = new a();
System.out.println(super.i);
}
}
class c {
public static void main(String [] args){
b b = new b();
}}
在上面的程序中,我試圖用super關鍵字訪問私有變量,我知道這是不可能的,但令人驚訝的是,在我的android mobile中使用此AIDE(java ide),我能夠通過super但不能直接訪問它,因為我在代碼.i只想知道是AIDE的錯誤,還是我在這里做錯了。
如果AIDE給您的印象是您可以在b
類中使用super.i
並對其進行編譯,那么是的,那是AIDE中的錯誤。 i
有私人通道a
,所以你不能用它的外面a
。 Java編譯器會說:
b.java:5: error: i has private access in a System.out.println(super.i); ^
在Java中, 壓倒性的約定是在類名稱中使用大寫字母開頭。 您可以在自己的代碼中執行所需的操作,但是在與他人合作或尋求幫助時,遵循約定可能更好。 因此, A
,不是a
, B
不是b
(對於類)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.