簡體   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