luffymaika
2016-10-04 11:11
public class homework { public int b=100; public class Inner{ private static int a=19;//这里报错了 public void show(){ System.out.println("内部成员a"+a); System.out.println("外部成员b"+b); } } public void print(){ Inner.a=10; Inner i=new Inner(); i.show(); } }
public class homework {
public static int b=100;
public static class Inner{
private static int a=19;
public void show()
{
System.out.println("内部成员a"+a);
System.out.println("外部成员b"+b);
}
}
public void print()
{
Inner.a=10;
Inner i=new Inner();
i.show();
}
}
内部类定义一个static的变量,内部类Inner也需要定义成static型,一旦Inner定义成static型,要调用外部类的变量,b变量也需要定义成static型,最终在你的代码的基础上加了两个static字符,希望对你有用
public class homework {
public int b=100;
public class Inner{
private int a = 19;
public void show(){
System.out.println("内部成员a"+a);
System.out.println("外部成员b"+b);
}
}
public void print(){
Inner i=new Inner();
i.a=10;
i.show();
}
public static void main(String[] args) {
test test=new test();
test.print();
}
}
我是这样改的,貌似public内部类中不能声明static变量
Java入门第二季 升级版
530646 学习 · 6091 问题
相似问题