没有main函数时的Java程序的执行

本文详细解释了Java中main函数的作用及格式要求,并介绍了不使用main函数的Java程序如何定义及运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java初学者大都是从main函数在控制台打印HelloWorld来开始Java学习的, 其形式为:public static void main(String[ ] arg)。

首先,main方法是JVM(java虚拟机)自动调用,JVM调用main方法的位置自然不会在某个类中、或某个包中,因此只有当main方法在公有级别上时,才对JVM可见,所以mian方法需要public修饰,同理,main方法所在的类也需要public修饰符。

其次,由于main方法是所有程序的入口,也就是main被调用时没有任何对象创建,不通过对象调用某一方法,只有将该方法定义为静态方法,所以main方法是一个静态方法,既需要static修饰。

最后,JVM对于java程序已经是最底层,由它调用的方法的返回值已经没有任何地方可去,因此,main方法返回值为空,既需用void修饰。

因此Java的main函数只能写作这样的形式:public static void main(String[ ] arg)。

但是Java程序不一定需要main函数,那么不带main函数的Java代码如是怎样定义的呢。

只需要将main函数替换成static定义的代码片段即可:

static{

//your code here

}

需要注意的是,仅仅这么定义,在控制台运行时候仍旧会报错(编译可以通过),需要在代码中加入System.exit(0),即:

static{

//your code here
System.exit(0);

}

这样就能成功运行了^_^

举例:


class test
{
    static
    {
        int a=0;
        System.out.println(a);
        System.exit(0);
   }
} 

   其中,static语句块会在加载类的时候加载,它在main函数之前运行。 当static语句块运行完毕后,会寻找main函数,如果没有找到,就会i抛出异常。但是在以上的代码中,static语句块执行后,我们终止程序的运行,所以异常就不会被抛出。
 

转自:https://blog.youkuaiyun.com/esonjohn/article/details/64444117
           https://blog.youkuaiyun.com/dolan/article/details/1734528

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值