静态方法为什么不能使用非静态成员变量

      " 静态方法中只能使用静态成员,而不能使用非静态成员。非静态方法中既能使用静态成员,也能使用非静态成员",搞Java的应该都知道这两句话,但是为什么呢? 
      今天同学突然问我这个问题,我也一愣,一直认为就是这样的,但是对细节却不甚了解。后来想了想,然后我对他说:

“静态方法和静态属性,是在你第一次使用这个类的时候加载到内存中,并且以后都不会消失(理论上),除非程序关掉。而非静态成员必须存在于一个实例化的对象中。也就是必须new一个对象分配到堆中后它才存在。你在没有new对象之前它都不存在,你怎么去访问它?”反过来应该都懂得。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值