欢迎各界计算机爱好者加入,弘扬极客精神!

.是否可以在static环境中访问非static变量?

0 喜欢 0 不喜欢
最新提问 9月 15, 2016 分类:C# | 用户: ssss (132 分)  

4 个回答

2 喜欢 0 不喜欢
 
已采纳

static变量在Java中是属于类的,它在所有的实例中的值是一样的。当类被Java虚拟机载入的时候,会对static变量进行初始化。如果你的代码尝试不用实例来访问非static的变量,编译器会报错,因为这些变量还没有被创建出来,还没有跟任何实例关联上。

最新回答 9月 15, 2016 用户: ぴ漏網ず嘀渔 (2,006 分)  
采纳于 9月 15, 2016 用户:ssss
1 喜欢 0 不喜欢
不能直接访问,需要先创建出来非static变量所在的类,然后通过定义的这个类.非static变量
最新回答 9月 15, 2016 用户: Edward (2,002 分)  
0 喜欢 0 不喜欢

不可以。因为非static方法是要与对象关联在一起的,必须创建一个对象后,才可以在该对象上进行方法调用,而static方法调用时不需要创建对象,可以直接调用。也就是说,当一个static方法被调用时,可能还没有创建任何实例对象,如果从一个static方法中发出对非static方法的调用,那个非static方法是关联到哪个对象上的呢?这个逻辑无法成立,所以,一个static方法内部发出对非static方法的调用。

最新回答 9月 15, 2016 用户: 我好像在哪见过你 (3,966 分)  
...