问答详情
源自:7-6 Java 中的成员内部类

当我在外部私有属性中用static 关键字,可以在内部类中的方法使用HelloWorld10.name调用外部属性,不用static则需要用this关键字来调用,我知道this关键字是指调用外部属性本身,static是指什么呢?是静态方法必须使用静态的变量吗?

//外部类HelloWorld
public class HelloWorld{
    
    //外部类的私有属性name
    private String name = "imooc";
    
    //外部类的成员属性
    int age = 20;
    
	//成员内部类Inner
	public class Inner {
		String name = "爱慕课";
        //内部类中的方法
		public void show() { 
			System.out.println("外部类中的name:" +                  );
			System.out.println("内部类中的name:" +                  );
			System.out.println("外部类中的age:" + age);
		}
	}
    
	//测试成员内部类
	public static void main(String[] args) {
        
        //创建外部类的对象
		HelloWorld o = new HelloWorld (); 
        
        //创建内部类的对象
		Inner inn =  o.new Inner();
        
        //调用内部类对象的show方法
		inn.show();
	}
}


提问者:慕妹0540389 2016-11-19 13:09

个回答

  • 暗部_阪
    2016-11-19 13:29:18
    已采纳

    在static方法中引用任何实例变量都是非法的

  • 慕妹0540389
    2016-11-19 13:51:09

    一直存在静态区,无法修改?访问量过多会过载?能不能解释一下 非法的观点 我在网上看的不是很懂

  • 慕妹0540389
    2016-11-19 13:48:43

    是不是涉及到内存问题