在Java中,方法有静态方法与实例方法。
public class Main {
private int text01;
private static int text02;
public void testMethods() {
text01=1; //正确,实例方法可以调用实例变量;
testMethods(); //正确,实例方法可以调用实例方法。
text02=1; //正确,实例方法可以调用静态变量;
testMethods2(); //正确,实例方法可以调用静态方法;
}
public static void testMethods2(){
text01=1; //错误,静态方法不可以调用实例变量;
testMethods(); //错误,静态方法不可以调用实例方法;
text02=1; //正确,静态方法可以调用静态变量;
testMethods2(); //错误,静态方法可以调用静态方法;
}
}
综上所述,静态方法只能访问静态方法与静态变量,而实例方法可以访问实例变量、实例方法、静态方法与静态变量。
静态方法无法访问实例方法与变量的原因是:
实例变量与方法是类生成对象时,才被构造器生成,实例变量是属于对象的。
而静态方法与变量是类加载时就生成,静态方法执行时,可以没有对象,在创建对象前就已经可以调用。