在没有引用变量的情况下调用静态方法

时间:2014-10-01 20:42:40

标签: java variables methods reference static

为什么在 " method1();" 中不需要参考变量才能从main调用静态方法?

public class MainClass { 
  public static void method1() { 
    System.out.println("Method1"); 
  }
  public static void main(String[ ] args) { 
    method1(); 
  } 
}

不为非静态方法实例化这样的Object变量:

MainClass var = new MainClass();
var.method1();

2 个答案:

答案 0 :(得分:3)

静态成员(Method,Field)不属于任何对象实例。静态成员存在即使没有创建对象实例。所有对象实例的静态成员SHARED。这就是为什么当你访问静态成员时,你不必使用任何对象实例。

对于你的情况:

var1.method1() = var2.method1() = var3.method1() = MainClass.method1()

因为他们正在调用相同的静态成员实例。但是建议您以静态方式访问静态成员。

答案 1 :(得分:0)

static members class member并非特定于对象,因此我们不需要对象。最好的例子是public static void main(String [] args)方法本身。