main方法為什么是靜態的


main函數其實也是所在類的一個方法,就比如一個類是test,那么該類的main其實就是test.main(String[] args),眾所周知如果一個方法不是靜態的,則要先實例化該類,比如要這樣 test t=new test(); 
然后才能調用 test.main(); 
而這對於運行一個程序的主函數來說是不現實的,所以比如把main函數定義為static,使test.main()可以直接被調用。

 

因為是程序入口啊  
不然你從哪里開始new對象 ?

 

所有static成員都是在程序裝載時初始化的,被分配在一塊靜態存儲區域。這個區域的成員一旦被分配,就不再改變地址啦。直到程序結束才釋放。
main()就存儲在這里。
盡管包含main()的類還沒有被實例化,但是main()方法已經可以使用啦。 

我覺得這個解釋比較合理,另外常駐內存的方式就是使用static,而且main方法是程序的入口,是啟動
Java虛擬機的,所以也沒有太多的討論的價值!

 

如果main不是靜態,在一個Test類下面,我們怎么運行呢。 
Test t=new Test(); 
t.main(); 
這樣程序才能運行,....這樣不是很麻煩么

 

程序的入口; 
如果整個程序沒有一個靜態方法, 你怎么啟動她?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM