在JAVA(AIDE)中访问私有变量

时间:2014-07-13 13:17:09

标签: java android aide-ide

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();
        }}

在上面的程序中,我试图用超级关键字访问私有变量,我知道这是不可能的,但令人惊讶的是在我的Android手机中使用这个AIDE(java ide)我能够访问这个超级但不直接,因为我有在代码中注释掉。我只想知道AIDE的错误或者我在这里做错了什么。

image

1 个答案:

答案 0 :(得分:0)

如果AIDE给您的印象是您可以在课程super.i中使用b并进行编译,那么是的,这是AIDE中的错误。 ia中拥有私人访问权限,因此您无法在a之外使用它。 Java编译器会说:

b.java:5: error: i has private access in a
    System.out.println(super.i);
                            ^

在Java中,压倒性的约定是在类名中使用初始大写字符。您可以在自己的代码中执行您喜欢的操作,但在与他人合作或寻求帮助时,遵循约定可能会更好。所以A,而非aB不是b(对于课程)。