內部類不能定義static屬性???
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();
}
}
2016-10-04
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字符,希望對你有用
2016-10-04
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變量