[英]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.