wxyxh蓝白碗
2020-01-10 17:10
//外部类
public class HelloWorld{
private int num = 1;
// 外部类中的静态变量score
private static int score = 84;
// 创建静态内部类
public static class SInner {
// 内部类中的变量score
int score = 91;
public void show() {
System.out.println("访问外部类中的score:" + HelloWorld.score );
System.out.println("访问内部类中的score:" + score);
HelloWorld hello = new HelloWorld();
System.out.println(hello.num);//这句对的
public int a = hello.num;//这句错了
}
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si = new SInner();
// 调用show方法
si.show();
System.out.println(si.a);//这句错了
}
}
上面的这三句
public int a = hello.num;
System.out.println(si.a);
这两句是错的
System.out.println(hello.num);
这句是对的
不好意思,看着这个代码上的get方法,觉得作用会不会不大?
已解决
我把东西写在函数里了。。。
下面是对的
package com.test.second;
//外部类
public class test2 {
private int num = 1;
// 外部类中的静态变量score
private static int score = 84;
// 创建静态内部类
public static class SInner {
// 内部类中的变量score
int score = 91;
public void show() {
System.out.println("访问外部类中的score:" + test2.score );
System.out.println("访问内部类中的score:" + score);
}
public int getNum() {
return a;
}
// test2 hello = new test2();
// private int a = hello.num;
int a = new test2().num;
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si = new SInner();
// 调用show方法
si.show();
System.out.println(si.a);
}
}
Java入门第二季 升级版
530553 学习 · 6091 问题
相似问题