深入理解Java的main方法

一、简单介绍
在我们的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://xiahunao.cn/news/256678.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot项目main方法详解

前言 SpringBoot项目启动时通过执行main方法启动,main方法主要做了两方面工作: 初始化Spring容器启动tomcat运行项目 下面我们通过源码来看如何进行的上面两个操作。 源码分析 我们以debug的方式进行源码的分析。main方法中,我们调用了SpringApplic…

main方法和单元测试方法

1、编写代码可使用快捷键 输入main然后点击回车;输入sout然后点击回车。 输入想要输出的内容然后运行代码即可 2、java严格区分大小写 main方法也叫主函数,在一个类中只有一个main方法。 java中每一条语句都是以分号为结束标志。 3、单元测试方法 …

Java中的main方法

一、概念 main方法是java程序的入口,每个java应用程序都必须有且仅有一个main方法。 二、深入理解 public static void main(String[] args) {} main方法是被java虚拟机调用的。java虚拟机不在该类中,也不在该类的包中,也不是该类的子类。…

java中main方法的作用是什么_java中main方法是什么

Java中的main方法,是一个java应用程序的入口,无论一个java的应用多么复杂庞大,或是多么的小,只要他是一个可以运行的java程序那么必然就要有一个main方法。 main方法的定义格式通常固定如下: (推荐学习:java课程)public class Demo {public static void main(String[] ar…

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,…

“大厂的人一毕业,讲师就多了起来”——但培训行业,早就卷起来了

“大厂的人一毕业,讲师就多了起来”,很多中年产品经理都把去做培训当成一个后备选项,也许,作为十几年前就淌过路的人,可以给你一些信息。 总体来说,今年有个特别的体感,就是产品经理/产品思维/产…

main方法

阅读数:3530 [java] view plain copy public static void main(String[] args) {} 或者 [java] view plain copy public static void main(String args[]) {} main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Jav…

详解Java中的main方法

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

java中类的main方法总结

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

深入理解 main 方法

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

Java main方法

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

【爬虫第四章】 爬虫工具介绍

预计更新一、 爬虫技术概述 1.1 什么是爬虫技术 1.2 爬虫技术的应用领域 1.3 爬虫技术的工作原理 二、 网络协议和HTTP协议 2.1 网络协议概述 2.2 HTTP协议介绍 2.3 HTTP请求和响应 三、 Python基础 3.1 Python语言概述 3.2 Python的基本数据类型 3.3 Python的流程控制语句 3…

使命召唤8联机找不到服务器,使命召唤8怎么联机 使命召唤8联机方法简介

首先,要安装“使命召唤8最新联机补丁最新升级补丁整合包修复版”,将里面所有文件都放到游戏目录,有重 名的就替换掉,然后打开游戏目录的TeknoMW3.exe,IP Address and port(MP only 这行字后面有两个格,第一…

《使命召唤》是今年最好的手游了吧:高画质、无敌手感还不吃配置

《使命召唤》系统作为海外最火的游戏之一,近期也是上线了台服、韩服、跟国际服的手机版,相信不少玩家已经开始玩了。个人觉得《使命召唤手游》在质量上是不输《和平精英》的,无论是枪械、地图、还是操作手感,完成度都非常高。 甚至…

使命召唤 计算机配置,使命召唤16配置要求 电脑配置推荐

使命召唤这款游戏从推出到现在,一直深受玩家喜爱。不仅是从游戏的剧情,还是画面的做工,基本上都让玩家无可挑剔。近日使命召唤16强势上线,并且官方公布了PC具体配置要求,感兴趣的玩家就一起来看看使命召唤16详细配置吧…

使命召唤5该服务器没有响应,使命召唤5玩不了怎么办 使命召唤5打不开解决办法...

使命召唤5:世界战争可以说是使命召唤系列中非常经典的一代作品了,不过许多玩家在下载游戏后会遇到使命召唤5玩不了、使命召唤5打不开、使命召唤5无法启动等等问题,下面小编就来为大家详细的介绍下如何去解决这些问题。 常见问题一、文件夹命名…

ov5640帧率配置_《使命召唤 黑色行动 冷战》详细PC配置需求公布

发行商动视和开发者 Treyarch 和 Raven Software 发布了《使命召唤:黑色行动冷战》的官方 PC 预告片,并详细介绍了本作 PC 版的各个配置需求。 本作将于 11 月 13 日登陆 PS5、Xbox Series X|S、PS4、Xbox One 以及 PC(战网)平台。 配置详情 最低配置 操…

火爆海外的使命召唤要出手游啦:使命召唤最全适配机型一览

使命召唤适配哪些手机机型?使命召唤师一款FPS射击游戏,其PC系列版在海外就非常火爆,如今动视和腾讯联合推出,即将上线使命召唤多人在线第一人称射击类手游(有消息称估计会和去年刺激战场一样在年前突然公测上线&#x…

使命召唤9用计算机,应该怎么设?使命召唤9 分辨率那些破事

UPDATE:增加《使命召唤9》三篇被拉伸情况截图 【PConline 游戏硬件游戏应用】在《使命召唤9:黑色行动2》的评测中,我们发现游戏中出现一个很特别的情况,就是全屏模式下,非最佳分辨率时候会出现拉伸情况,这种…

codol服务器维护,解决Nvidia显卡玩《使命召唤OL(CODOL)》游戏不流畅问题

虽然为了适应广大中国FPS爱好者的老爷机,动视和腾讯已经把《使命召唤OL(CODOL)》的画质降到了最低,但是仍然有很多玩家(配置尚可)玩游戏时很卡,这是为什么呢?如何去设置呢? 这里我介绍方法,让你们涨涨知识&…