我的书中的问题是:在定义中对实例变量和静态变量访问施加了哪些限制:1。)实例方法? 2.)静态方法?
我对这个概念的回答是否正确?
- 实例方法无法直接访问实例变量,而可以直接访问静态变量,因为在整个类中使用了一个副本。 (每个对象将共享此静态变量以及类中的静态方法。实例变量仅对每个对象可用,并且每个对象都有自己的此实例变量的副本。)静态方法无法访问类的实例成员。但是,静态方法可以访问静态变量的成员。
答案 0 :(得分:3)
实例方法无法直接访问实例变量
错误。
虽然可以直接访问静态变量,因为整个类中都使用了一个副本。
正确。
(每个对象将共享此静态变量以及类中的静态方法。
正确。
实例变量仅对每个对象可用,并且每个对象都有自己的此实例变量副本。)
正确。
静态方法无法访问类的实例成员。
正确。
然而,静态方法可以访问静态变量的成员。
正确,如果它有成员,则可以访问。
编译器会以100%的可靠性告诉你所有这些。
答案 1 :(得分:1)
这是对的,简单地说:
实例方法可以访问同一个类的实例和静态变量(如果其他访问修饰符允许的话);
静态方法只能访问同一类的静态变量。