繁体   English   中英

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

[英]Calling static method without a reference variable

为什么在“ 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();

静态成员(方法,字段)不属于任何对象实例。 静态成员存在即使没有创建对象实例。 静态成员共享所有对象实例。 这就是为什么当您访问静态成员时,您不必使用任何对象实例。

对于您的情况:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM