激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 淺談Java文件執行順序、main程序入口的理解

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

2019-06-22 17:09Gxx2018 Java教程

這篇文章主要介紹了Java文件執行順序、main程序入口的理解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在我們通過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程序入口的詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
  • Java教程SpringBoot引入Thymeleaf的實現方法

    SpringBoot引入Thymeleaf的實現方法

    這篇文章主要介紹了SpringBoot引入Thymeleaf的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Bobby6472021-07-28
  • Java教程淺談Java(SpringBoot)基于zookeeper的分布式鎖實現

    淺談Java(SpringBoot)基于zookeeper的分布式鎖實現

    這篇文章主要介紹了Java(SpringBoot)基于zookeeper的分布式鎖實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    LJY_SUPER5742021-07-21
  • Java教程Java之Springcloud Feign組件詳解

    Java之Springcloud Feign組件詳解

    這篇文章主要介紹了Java之Springcloud Feign組件詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    深情以改10322021-11-12
  • Java教程java 中鎖的性能提高辦法

    java 中鎖的性能提高辦法

    這篇文章主要介紹了java 中鎖的性能提高辦法的相關資料,需要的朋友可以參考下...

    Java之家3092020-08-13
  • Java教程JavaWeb 實現驗證碼功能(demo)

    JavaWeb 實現驗證碼功能(demo)

    在 WEB-APP 中一般應用于:登錄、注冊、買某票、秒殺等場景,大家都接觸過這個驗證碼操作,今天小編通過實例代碼給大家講解javaweb實現驗證碼功能,需要...

    java教程網12832020-08-05
  • Java教程Java list.remove( )方法注意事項

    Java list.remove( )方法注意事項

    這篇文章主要介紹了Java list.remove( )方法注意事項,非常簡單易懂,需要的朋友可以參考下...

    妖久9552021-05-25
  • Java教程springboot ehcache 配置使用方法代碼詳解

    springboot ehcache 配置使用方法代碼詳解

    EhCache是一個比較成熟的Java緩存框架,Springboot對ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也簡易,今天給大家分享spri...

    m1719309529412912021-09-16
  • Java教程JAVA中通過自定義注解進行數據驗證的方法

    JAVA中通過自定義注解進行數據驗證的方法

    java 自定義注解驗證可自己添加所需要的注解,下面這篇文章主要給大家介紹了關于JAVA中通過自定義注解進行數據驗證的相關資料,文中通過示例代碼介紹...

    Decouple6362021-05-25
主站蜘蛛池模板: 欧美黄色大片免费观看 | 久久久久久久不卡 | 999久久久精品视频 欧美日韩网站在线观看 | 午夜天堂在线 | 一级看片免费视频 | 激情夜色| 国产午夜精品久久久 | 国产精品白嫩白嫩大学美女 | 精品国产91久久久久 | 成人影片在线免费观看 | 欧美日韩亚洲精品一区二区三区 | 噜噜在线视频 | 国产成人精品免费视频大全最热 | 亚洲啪啪 | 91网视频 | 欧美巨乳在线观看 | 欧美一级特黄特色大片免费 | 久久中文字幕在线观看 | av黄色片网站 | 嫩草影院在线观看网站成人 | 伦一区二区三区中文字幕v亚洲 | 一区视频| av在线收看 | 日本一道aⅴ不卡免费播放 久久久久久久高清 | 99这里有精品| 日韩电影毛片 | 成人国产在线看 | 一级大片一级一大片 | 午夜视频在线观看免费视频 | 亚洲第五色综合网 | 午色影院| 国产一区二区精品在线观看 | 日本在线一区二区 | 在线天堂中文在线资源网 | 九色免费视频 | 日本精品一区二区 | 88xx成人永久免费观看 | 中国漂亮护士一级a毛片 | 国产成人在线一区 | 欧美一级网 | av在线播放免费观看 |