main函數詳解,

來源:互聯網
上載者:User

main函數詳解,

1.主函數是靜態;

2.主函數是一個特殊的函數,作為程式的入口,可以被JVM識別;

3.主函數的定義:

(1)public:

①公用的,代表許可權是最大,在任何情況下都可以訪問;

②使用public的原因:為了保證讓JVM在任何情況下都可以訪問到main方法;

(2)static:

①靜態,靜態可以讓JVM調用main函數的時候更加的方便,不需要通過對象調用;

②如果不使用static修飾所帶來的麻煩:需要建立對象調用(這一點JVM可以自己解決),但是JVM不知道如何建立對象,因為建立對象有些是需要參數的,至於參數傳遞什麼內容,這點是JVM解決不了的。

class Demo1{public void main(String[] args){System.out.println("Hello world");}}

比如上述代碼沒有使用static修飾,JVM調用主函數時就必須要建立對象,所以通過new Demo1.main( )來調用main方法,這時是沒有任何問題的,最怕的是出現下述的情況,就是這個類沒有無參的構造方法,只有一個帶參的構造方法。

class Demo1{public Demo1(String name,int age){}public void main(String[] args){System.out.println("Hello world");}}

此時對於JVM來說,沒有static修飾,必須得建立對象才能調用main方法,這時建立對象就遇到了jvm不可能能解決到的問題,那就是參數的傳遞。因為建立對象要構造方法,但是現在沒有無參的構造方法,就只能用到這個有參的構造方法,但是這個構造方法是需要接收參數的。對於JVM來說,它並不知道應該傳什麼參數合適。所以這時候JVM建立對象是非常麻煩的。所以,這時候就使用static,這樣的話就避免了這些麻煩的事情。
(3)void:

沒有返回值,因為返回的資料是給JVM的,而JVM使用這個資料是沒有意義的,所以返回空。

假如傳回型別不是void而是int,這時候返回int給JVM,JVM是不能把這個資料給你的,因為當你的主方法寫了很多行代碼後,最後一個返回語句返回,一旦返回就意味著這個方法結束了,主方法結束後就意味著你的程式停止了,這時候就算返回給JVM,你也拿不到這個資料,而這個資料對於JVM來說是沒有任何意義的。

(4)main:

main是函數名;

注意:main並不是關鍵字,只不過是JVM能識別的一個特殊的函數名而已,告訴JVM這是程式的入口處。

(5)(String[ ] args):

函數的參數,擔心某些程式在啟動時需要參數,參數類型是一個數組,該數組中的元素是字串,字串類型的數組。

4.執行個體

class Demo1 {public static  void main(String[] args) {System.out.println("數組的長度:"+ args.length);for(int i = 0 ; i <args.length ; i++){System.out.print(args[i]+",");}}}

運行結果如所示:





著作權聲明:本文為博主原創文章,未經博主允許不得轉載。 http://blog.csdn.net/zhuwei1035838807/article/details/79206449

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.