深入理解Java的main方法

article/2025/9/19 15:01:03

一、简单介绍
在我们的Java程序中都会出现一个名称为main的方法,我们发现没有这个方法我们的程序就无法运行。
其实任何一个Java程序的运行入口都是这个main方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同:方法名称必须为main,且必须由 public static void 修饰以及入参必须是一个String类型的数组。

public class Test{public static void main(String[] args){System.out.println("我是任何一个Java程序的入口方法");}
}

二、详细分析
(1)main()方法为何必须被声明为public static void?
①必须由public修饰的原因是:main方法是要被JVM加载的,所以需要最高的访问权限。
②必须由static修饰的原因是:首先我们知道在java中调用一个方法,要么是通过实例对象调用,要么是直接通过类名调用。而JVM在调用我们的main方法是需要直接通过类名调用的,不会生成一个实例对象来调用,所以必须由static修饰。
③必须由void修饰的原因是:main方法执行完毕时,并不需要有相关返回值返回,所以void修饰即可。
(2)为什么方法名称必须为main,以及入参必须为String类型的数组?
这其实是java的规定,大家直接记住就好。不过虽然入参类型固定,但入参名称我们可以自定义。
(3)注意事项
由于我们的main方法被static修饰,所以它其实也是一个静态方法,所以在main方法中我们可以直接调用本类的静态方法和静态属性,但不能直接调用本类中的非静态方法或非静态属性,必须创建该类的一个实例对象后,才能通过这个对象去调用本类中的非静态成员。
三、main方法可不可以被重载、继承、重写、以及被其他方法调用?
(1)main()被重载测试:
在这里插入图片描述
(2)main()被继承与重写测试:
在这里插入图片描述
我们使用Student2类继承了Student类,Student2类里我们没有写main()方法却发现出现了小红三角,可以运行,而且运行结果也说明了子类继承了父类中的main()方法。那么既然可以继承,那么可不可以重写main()呢?当然是不可以的啦,因为被static修饰的方法可以被继承但不允许被重写,即使你发现子类中可以出现一个和父类静态方法具有相同的返回值类型、方法名称、参数列表等的静态方法,那么这其实只是对父类对应的方法进行了隐藏,而不是我们所谓的方法重写。总之记住一句话,静态方法可以被继承但不可以被重写。只有普通方法才可以在继承之后被重写。
(3)main()被调用测试:
在这里插入图片描述
根据运行结果我们可以知道main方法可以被其他方法调用。
四、总结
main方法可以被重载、被继承、被其他方法调用,但不可以被重写。
也就是说,main方法除了作为程序入口,被虚拟机调用之外,其他的方面和一个普通的静态方法是一致的。


http://chatgpt.dhexx.cn/article/sBwPwtG0.shtml

相关文章

main方法详解

学习Java有一段时间了,一直没用过博客来写写自己在学习过程中遇到的问题和学习心得,看到别人在诸如博客这样的社区写一些总结觉得挺好的。索性,今天开始自己也用起博客记录学习。一来呢,能更好的总结学习知识。二来,有…

java中main方法的作用

main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main,在按住Alt/的方式快速创建main方法。可以说main方法是最简单的方法,因为main方法几…

Java中的main()方法如何运用?

​ 在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public …

解析java中的main方法

解析java中的main方法 1.一个java源文件(.java文件)可以有多个class类 1.1 分析 例如下面代码编译时不会报错,只不过编译后会生成多个对应的class类文件 其中有多少个类就生成class类文件 1.2 示例代码 class B{} public class Practice {public static void main(String[…

Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法

public static void main(String[] args) {}或者 public static void main(String args[]) {}main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main,…

Java 中的main方法原理介绍。

//深入了解main方法 // 解释main方法的形式为什么是这样写的? // public static void main(String[] args) // 问题1:是谁调用main方法? // java虚拟机调用main方法,所以main的访问权限是public // 问题2:为什么是st…

main()方法java

main()方法java 实际上,程序中的main()方法不是必须要放在唯一的一个公共类中的,它可以放在其它类当中,但正常情况下这样做会报错,这是为什么呢?是因为程序在执行的过程中第一步是调用: 文件名.main() 正常…

Java--main()方法

文章目录 一、main()方法使用二、mian()方法调用 一、main()方法使用 1、访问控制权限是公有的(public) 2、main() 方法是静态的。如果要在 main() 方法中调用本类中的其他方法,则该方法也必须是静态的,否则需要先创建本类的实例…

java学习之main方法

目录 一、main方法的注意事项 二、在IDEA中传入参数 一、main方法的注意事项 形式:public static void main(String[] args){},main方法是一个静态方法,访问修饰符是:public,形参是String数组 args 注意事项&#xf…

深入理解 main 方法

目录 深入理解 main 方法 public static void main(String[] args) { }注意事项 深入理解 main 方法 public static void main(String[] args) { } 在Java 中,main() 方法是 Java 应用程序的入口方法,程序在运行的时候,第一个执行的方法就是…

java中main()方法详解

package javase2; /** public static void main(String [] args){....}* pblic:公共的,访问权限最大,由于main要被jvm调用,所以要权限够大* static:静态不需要创建对象,方便jvm调用* void:方法的…

Java中的main方法

main方法是java应用程序中的一个入口,它被声明为公有静态方法,参数是一个字符串数组,返回值为void类型。 一个java文件可以有无数个main方法,但是一个类中只能有一个main方法,当想要运行不同的main时,可以…

Java的main方法

Java的main方法 我们在编写程序的时候经常使用到main方法,但是main方法具体是什么意思呢? 1、main方法的调用者是java虚拟机。 2、因为调用者是java虚拟机,java虚拟机不在该类中也不在该类所在的包中更不是该类的子类,所以main函数…

Java基础——main方法

深入理解main方法 解释main方法的形式:public static void main(String [] args){} main方法是由java虚拟机调用的。java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public。Java虚拟机在执行main()方法时不必创建对象,所以该…

详解Java中的main方法

main方法格式定义 public: main方法启动时由JVM进行加载,public的可访问权限是最高的,所有需要声明为public;static: 方法的调用要么是通过对象,要么是通过类,而main方法的话,因为是由虚拟机调用的,所以无…

java中类的main方法总结

一、java中每个类都需要有main方法吗? 每个类可以有也可以没有main方法, 甚至所有类里可以都没有main方法。如果你想从某个类做为入口开始运行整个程序。那么就把他设成 public ,之后再里面写个main方法作为入口。 每个项目都要有一个主类…

main方法

main方法 一、main()方法的使用说明1. main()方法作为程序的入口2.main()方法也是一个普通的静态方法3.main()方法可以作为我们与控制台交互的方式,(之前,使用Scanner) 二、main方法…

main()方法详细说明

main()方法: main()方法的使用说明: main()方法作为程序的入口 main()方法也是一个普通的 静态方法 只能有一个公共的public class 但是可以有两个以上的public static void main(String[] args){}, 静态方法通过类去调。 静态mian方法里面不能直接…

逢七必过——python练习题

问题内容:从零输入数字,遇到7的倍数输出“过”。 代码思路:采用循环判断方法解决问题。 代码1:n99 for i in range(0,n,1): if i % 7 0: print("过") else:print(i) ii1 运行结果: …

Python100经典练习题,附答案

很多小伙伴在学习Python的时候,有时候会迷茫,不知道怎么可以检测出自己的水平是否很高,这次给大家带了这100道python练习题帮助大家更好的掌握学习python! Python新手在谋求一份Python编程工作前,必须熟知Python的基础…