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

Java 在没有引用变量的情况下调用静态方法,java,variables,methods,reference,static,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(); } } 无需为非静态方法实例化如下对象变量: MainClass var = new M

为什么不在“method1();”中需要一个引用变量,以便从main调用静态方法

public class MainClass { 
  public static void method1() { 
    System.out.println("Method1"); 
  }
  public static void main(String[ ] args) { 
    method1(); 
  } 
}
无需为非静态方法实例化如下对象变量:

MainClass var = new MainClass();
var.method1();
静态成员(方法、字段)不属于任何对象实例。即使没有创建对象实例,静态成员也存在。所有对象实例共享的静态成员。这就是为什么在访问静态成员时,不必使用任何对象实例

对于您的情况:

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

因为它们调用的是同一个静态成员实例。但建议您以静态方式访问静态成员。

静态成员
类成员
不是特定于对象的,因此我们不需要对象。最好的例子是
publicstaticvoidmain(String[]args)
方法本身。

它们都是静态方法,在相同的声明范围内,我的意思是,你确实指出了,而在一个非静态方法中,你这样做与分配给静态事件的内存空间有关吗?静态方法是用类定义加载的,而不是绑定到classIs的实例这是哲学论述吗?这就是作用域的工作方式,只是编译器的一种机制。