欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

没有main函数如何运行代码

程序员文章站 2022-03-26 15:49:29
学了java之后我们都知道,java中的main函数就像java函数的入口,比如说下面这段非常简单的代码。public class Demo1 { public static void main(String[] args) { System.out.println("hello world!"); }}不难得出,这段代码运行的结果是那么这时候我们也许会想,如果不用main函数怎么才能让这段代码运行呢?通过我在网络中的查询,我找到了一个不用main函数便可以执行...

学了java之后我们都知道,java中的main函数就像java函数的入口,比如说下面这段非常简单的代码。

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

不难得出,这段代码运行的结果是
没有main函数如何运行代码
那么这时候我们也许会想,如果不用main函数怎么才能让这段代码运行呢?

通过我在网络中的查询,我找到了一个不用main函数便可以执行代码的方法,摘自如下:链接: https://blog.csdn.net/qq_36322492/article/details/81172536.
上述的博客中,我们可以知道static块可以在没有main函数的情况下单独运行。博主所用得是jdk1.8,所以这里用jdk1.8测试一下。
但是当我测试的时候,又出现了如下错误:
没有main函数如何运行代码
而错误的原因如下:
不同JDK版本会有不同的结果,笔者使用jdk1.4版本可以正确得到以上结果,使用jdk1.8版本编译成功但是运行报错,所以读者应该慎重选择jdk版本。更多的版本测试结果请在评论区交流~
上面这段话转自:链接: https://blog.csdn.net/esonjohn/article/details/64444117.
但是为了弄清楚static静态块之前可以单独运行的原因,写了如下代码
下面展示一些 内联代码片

public class Demo2 {
        //静态代码块
        static {
            System.out.println("我是静态代码快,我被执行了!");
            System.exit(0);//退出程序
        }
        public static void main(String[] args) {
            System.out.println("我是main函数,我要执行了");
        }

}

代码运行结果如下:
没有main函数如何运行代码
下面展示一些 内联代码片

public class Demo2 {
        //静态代码块
        static {
            System.out.println("我是静态代码快,我被执行了!");
        }
        public static void main(String[] args) {
            System.out.println("我是main函数,我要执行了");
        }
}

代码运行结果如下:
没有main函数如何运行代码
由上面两段代码可以得出:static语句块会在加载类的时候加载,它在main函数之前运行。 当static语句块运行完毕后,会寻找main函数,如果没有找到,就会抛出异常。但是在以上的代码中,static语句块执行后,我们终止程序的运行,所以异常就不会被抛出。
链接: https://blog.csdn.net/WUHUANCSDN2011/article/details/7716865?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.control.

本文地址:https://blog.csdn.net/nakoaix/article/details/112252233