国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

淺談Java文件執行順序、main程序入口的理解

2024-07-14 08:43:35
字體:
來源:轉載
供稿:網友

在我們通過JVM編譯Java后綴名的文件時,JVM首先尋找入口(main方法)

public static void main(String[] args)

1、由于在入口時,未調用任何對象,該方法只能設置為static靜態
2、JVM為Java的最底層,所以即使有返回結果,結果也無處可去,因此該方法必然是void無返回值
3、由于main方法是入口,被JVM自動調用,只有將該方法設置為public公有級別才能對JVM可見
綜上,入口main方法只能寫為

public static void main(String[] args)

在我們沒有寫main方法時,系統會自動會為我們添加一個無參mian主方法,該方法的添加位置為public類中首行(之前也提到過,只有添加在public級別中才對JVM可見,可以自動調用)

注意:如果在java文件中未包含任一公共類(public class),此文件依然可以通過編譯,但是主動運行由于找不到public class,就無法自動添加main方法,JVM找不到程序入口,運行會報錯,即編譯通過運行報錯,缺少public class的文件需要等待被其它java文件調用,無法作為入口。

package j2se;class X{  Y y=new Y();  public X(){    System.out.print("X");  }}class Y{  public Y(){    System.out.print("Y");  }}//public class Z extends X{ // Y y=new Y(); // public Z(){  //   System.out.print("Z");  // }  // public static void main(String[] args) {  //   new Z();  // }//}

報錯:

錯誤: 找不到或無法加載主類 j2se.Z
原因: java.lang.ClassNotFoundException: j2se.Z

當我們加上public類(public class)后,編譯運行通過,根據返回結果可以清楚看到程序的執行順序,代碼如下:

package j2se;class X{  Y y=new Y();  public X(){    System.out.print("X");  }}class Y{  public Y(){    System.out.print("Y");  }}public class Z extends X{  Y y=new Y();  public Z(){    System.out.print("Z");  }  public static void main(String[] args) {    new Z();  }}

運行結果:YXYZ

 根據這個運行結果,我們可以看出,程序運行后JVM編譯順序為,JVM直奔public class中main()方法作為入口,并開始編譯執行

public static void main(String[] args)

以上所述是小編給大家介紹的Java文件執行順序、main程序入口的詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高要市| 应用必备| 临西县| 温州市| 烟台市| 常熟市| 名山县| 南木林县| 宜州市| 靖安县| 盐津县| 灌云县| 长沙市| 项城市| 长顺县| 广元市| 浠水县| 启东市| 宁远县| 获嘉县| 华安县| 石景山区| 甘孜县| 岳西县| 子洲县| 桂阳县| 纳雍县| 永登县| 永平县| 安阳市| 沭阳县| 昌江| 乌什县| 房产| 蓝田县| 汝州市| 肇州县| 横峰县| 宁远县| 鹰潭市| 华阴市|