java没有main方法可以运行吗?main有什么作用?

JAVA中的主函数是我们再熟悉不过的了,在java中main方法是java应用程序的入口方法,由此可见main方法是很重要的,那java没有main方法可以运行吗?下面来我们就来给大家讲解一下。

不可以运行,没有main主函数是不能运行的,相当于是入口,没有入口就无法进入!

main有什么作用?

Java中的main方法,是一个java应用程序的入口,无论一个java的应用多么复杂庞大,或是多么的小,只要他是一个可以运行的java程序那么必然就要有一个main方法。

main方法的定义格式通常固定如下:

public class Demo
{
    public static void main(String[] args)
    {
        System.out.println("Hello Word");
    }
}

1、为什么是公共的?

ans1:Java指定了一些可访问的修饰符如:private,protected,public。每个修饰符都有它对应的权限,public权限最大,为了说明问题,我们假设main方法是用private修饰的,那么main方法出了Demo这个类对外是不可见的。

那么,JVM就访问不到main方法了。因此,为了保证JVM在任何情况下都可以访问到main方法,就用public修饰。

ans2:Java设计了几个访问修饰符,包括:private,protected,public。 在Java中声明为public的任何方法或变量都可以从该类的外部访问。 而JVM访问main方法显然不是在类的内部访问,因此main方法需要定义为public的方法。

2、为什么是静态的?

静态可以让JVM调用main方法的时候更加方便,不需要通过对象调用。关于static关键字我们知道的是,static关键字修饰的方法,可以不用通过创建一个实例去访问,而是可以通过类名直接访问。并且static修饰的方法以及变量存储在虚拟机当中的方法区当中,而非堆内存当中。

那么,对于虚拟机来说也是一样的道理。main方法定义为static的,则对于虚拟机来说,在程序启动之后并不需要创建一个实例,就可以去调用这个main方法。

3、为什么没有返回值?

void表示main方法没有返回值,没有返回值的原因是因为Java不需要main方法向操作系统返回退出信息。如果main方法正常退出,那么Java应用层序的退出代码为0,表示成功的运行了程序。

4、main

main的名称不能变是为了JVM能够识别程序运行的起点,main方法可以被重载,重载的main方法不会被执行。main方法作为程序初始线程的起点,任何其他线程均由该线程启动。

JVM内部有两种线程,非守护线程和守护线程,main方法属于非守护线程,守护线程通常由JVM自己使用,Java程序也可以表明自己的线程是守护线程。当程序中所有的非守护线程终止时,JVM退出。也可以用Runtime类或者System.exit()来退出。

5、String [] args

String[] args,是main方法中唯一可以改变的地方!args是arguments的缩写,只是一个变量默认名,习惯性写作它,但是也可以改变的,只要符合命名规则随便你写成什么。

在一个程序中,main方法是很重要的,没有main程序就无法运行,因为java虚拟机通过main方法找到需要启动的,最后大家如果想要了解更多java初识知识,敬请关注奇Q工具网。

推荐阅读:

geojson怎么在arcgis打开?GeoJSON的数据结构是什么?

java面试中经常被问到的问题有哪些?相关汇总

ReentrantLock与synchronized的区别有哪些?有相似点吗?