内部类不能定义static属性???

来源:7-6 Java 中的成员内部类

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();
	}
}


写回答 关注

2回答

  • 慕粉3749632
    2016-10-04 11:26:59
    已采纳

    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字符,希望对你有用

    luffym...

    非常感谢!

    2016-10-28 23:47:28

    共 1 条回复 >

  • 慕粉4098224
    2016-10-04 15:14:22

    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入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530646 学习 · 6091 问题

查看课程

相似问题