PG_one
2017-10-10 23:22
package abc;
public class HelloWorld {
private static int score=87;
public class appcf{
int score=68;
public void abc() {
System.out.println("外部类score:"+HelloWorld.score);
System.out.println("内部类score:"+score);
}
}
public static void main(String[]args) {
appcf o=new appcf();
o.abc();
}
}
貌似你在定义appcf类的时候没有设置静态static,在System.out.println();中输出的是直接外部类.静态成员变量,造成你的报错,如果是你这样进行写跟楼上的this.成员变量才对,他这是引用的不是静态的成员变量的用法;也是刚开始学学,相互比较得出的,清指教;
public class HelloWorld {
private static int score=87;
public class appcf{
int score=68;
public void abc() {
System.out.println("外部类score:"+HelloWorld.this.score);
System.out.println("内部类score:"+score);
}
}
public static void main(String[]args) {
HelloWorld hello = new HelloWorld();
appcf o=hello.new appcf();
o.abc();
}
}
应该是System.out.println("外部类score:"+HelloWorld.score);这句有问题
我觉得应该改成System.out.println("外部类score:"+HelloWorld.this.score);
我也是刚好学到这儿
Java入门第二季 升级版
530652 学习 · 6091 问题
相似问题