![](/img/trans.png)
[英]Why do you need to create these json read/write when in java you didn't have to?
[英]Why do you not have to create an object in Java?
我正在學習Java,令我驚訝的事情之一是您沒有從類中創建對象。 例如:
class helloworld{
public static void main(String[] args){
System.out.println("Hello world!");
}
}
我不明白的是,我一直認為類是對象的藍圖,而在這里您沒有創建對象,程序只是從類中運行。 是否創建了從隱式運行main
方法的對象? 我並沒有很好地表達這句話,並假設我缺少某種理解-有人可以解釋嗎?
“類作為對象的藍圖”是描述現實的Java 101方法。 它有助於教會您什么是類和對象,但這不是全部。
一個類還是靜態代碼和數據的持有者,它們獨立於任何類實例而獨立存在。 您可以將其視為一種命名空間的全局數據。
在您的示例中, main
方法本身就是這樣的靜態方法,可以在不存在任何現有對象的情況下執行,而System.out
指的是一個單獨存在的對象,該對象附加到System
類中的靜態變量。
如果在Java中僅使用靜態方法和變量,則該類的所有對象都共享相同的變量和方法,則不必創建對象並調用。 同樣,主要方法是代碼運行的入口點
您確實在Java中創建了對象。 static關鍵字表明變量,方法或嵌套類屬於類/超類,而不屬於對象。 main方法被聲明為靜態方法,因此可以在運行時進行訪問; 它不是對象的一部分,而是類的一部分。 JVM在運行時查找main方法。
公共意味着可以從任何靜態類訪問
靜態意味着你不必創建對象或其他文字沒有需要的new
和你要求什么
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.