Whitney_wu
2019-02-28 20:53
明明教的就有关这样的信息,但是为什么不行呢?
而且,截图要截全部,不然不知道你最上面写了什么,你是不是没创建非静态的变量
仔细看看,你自己写的错了,教程说的是内部静态类,你的外部是静态类
下面的可以
//外部类
public class HelloWorld {
// 外部类中的静态变量score
private static int score = 84;
private int a=66;
// 创建静态内部类
public static class SInner {
// 内部类中的变量score
int score = 91;
public void show() {
System.out.println("访问外部类中的score:" + new HelloWorld().a );
System.out.println("访问内部类中的score:" + score);
}
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si= new SInner();
// 调用show方法
si.show();
}
}
可以用,没毛病
如果你在慕课网上测试,它会提示运行成功,输出错误,设置问题
自己软件测试就行了,在这上面既然运行成功,看结果也是我们要的,没有错误
静态内部类中的方法中的输出错误 new HelloWorld().score 改成 HelloWorld.score
new HelloWorld().score是访问外部类中的给静态成员,访问了你要给他赋值给一个新的变量,就像我图中的变量“b”
Java入门第二季 升级版
530652 学习 · 6091 问题
相似问题