非静态方法可以访问Java中的静态变量/方法吗? |
您所在的位置:网站首页 › synchronized用在静态方法和非静态方法 › 非静态方法可以访问Java中的静态变量/方法吗? |
“非静态方法可以访问静态变量或调用静态方法”是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"); } }您可以看到该代码可以正常编译,没有编译时错误。 您甚至可以从 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |