“非静态方法可以访问静态变量或调用静态方法”是Java中有关静态修饰符的常见问题之一,答案是, 是的 ,非静态方法可以访问静态变量或调用静态方法。 Java中的方法。 这没有问题,因为有静态成员,即静态变量和静态方法都属于一个类,并且可以根据其访问修饰符从任何位置调用。
例如,如果静态变量是私有的 ,则只能从类本身访问它,但是您可以从任何地方访问公共静态变量。 类似地,可以从同一类的非静态方法中调用私有静态方法,但是可以从任何地方调用公共静态方法(例如main()) 。
这是一个代码示例,用以证明我们的观点:非静态方法可以访问Java中的静态变量和方法:
public class StaticTest {
public static int iStatic = 10;
public void nonStatic() {
System.out.println("can access static variable inside non-static method : "
+ iStatic);
main(new String[2]);
}
public static void main(String[] args) {
System.out.println("Inside main method");
}
}
您可以看到该代码可以正常编译,没有编译时错误。 您甚至可以从