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

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

慕妹0540389

2016-11-19 13:09

//外部类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();
	}
}


写回答 关注

3回答

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

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

    慕妹0540...

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

    2016-11-19 13:52:07

    共 1 条回复 >

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

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

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

    是不是涉及到内存问题

    慕妹0540... 回复暗部_阪

    好的,谢谢

    2016-11-19 13:58:50

    共 2 条回复 >

Java入门第二季 升级版

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

530649 学习 · 6091 问题

查看课程

相似问题