gpt4 book ai didi

浅谈Java文件执行顺序、main程序入口的理解

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 27 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章浅谈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文件执行顺序、main程序入口的理解的文章就讲到这里了,如果你想了解更多关于浅谈Java文件执行顺序、main程序入口的理解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com