为了账号安全,请及时绑定邮箱和手机立即绑定

当我在外部私有属性中用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();
	}
}


正在回答

3 回答

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

0 回复 有任何疑惑可以回复我~
#1

慕妹0540389 提问者

是不是涉及到内存问题 一直存在静态区,无法修改?访问量过多会过载?能不能解释一下 非法的观点 我在网上看的不是很懂
2016-11-19 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

是不是涉及到内存问题

0 回复 有任何疑惑可以回复我~
#1

暗部_阪

static是静态修饰符,在程序中变量或者代码运行时都是由系统分配内存来存储,而静态所占用的内存会一直到程序退出时才会释放内存空间
2016-11-19 回复 有任何疑惑可以回复我~
#2

慕妹0540389 提问者 回复 暗部_阪

好的,谢谢
2016-11-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信