为什么Java中类方法不能访问实例方法

如题所述

你看的材料写的不够好,应该是静态方法不能访问实例变量。
因为静态方法和静态变量是属于这个类的,只有一份,用类名.方法名来访问,而实例变量是每一个类的实例都有一份的,所以可以理解为静态变量和方法对于一个类的所有实例都是一样的,而实例变量对于每个实例是不同的,所以如果在静态方法里使用的实例变量会造成一致性的问题,不知道这么说你能理解吗?
还有就是静态方法和变量与实例方法和变量的存储位置也是不同的,静态方法和变量存储在堆栈中,而实例变量和方法存储在堆中
温馨提示:答案为网友推荐,仅供参考
相似回答