We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents f83ddd1 + f521cf8 commit 06c129dCopy full SHA for 06c129d
docs/java/basis/Java基础知识.md
@@ -790,7 +790,7 @@ public void f5(int a) {
790
791
### 在一个静态方法内调用一个非静态成员为什么是非法的?
792
793
-由于静态方法可以不通过对象进行调用,因此在静态方法里,不能调用其他非静态变量,也不可以访问非静态变量成员。
+这个需要结合 JVM 的相关知识,静态方法是属于类的,在类加载的时候就会分配内存,可以通过类名直接访问。而非静态成员属于实例对象,只有在对象实例化之后才存在,然后通过类的实例对象去访问。在类的非静态成员不存在的时候静态成员就已经存在了,此时调用在内存中还不存在的非静态成员,属于非法操作。
794
795
### 静态方法和实例方法有何不同?
796
0 commit comments