main方法详解

       学习Java有一段时间了,一直没用过博客来写写自己在学习过程中遇到的问题和学习心得,看到别人在诸如博客这样的社区写一些总结觉得挺好的。索性,今天开始自己也用起博客记录学习。一来呢,能更好的总结学习知识。二来,有问题更有机会让别人指出,对自己学习也很有帮助。话不多说,就以main方法详解开始今天的主题吧。

      为了表述方便,我先把mian方法写出来:

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

      1、为什么是公共的(public)

       我们都知道,Java指定了一些可访问的修饰符如:private,protected,public。每个修饰符都有它对应的权限,public权限最大,为了说明问题,我们假设main方法是用private修饰的,那么main方法出了Demo这个类对外是不可见的。那么,JVM就访问不到main方法了。因此,为了保证JVM在任何情况下都可以访问到main方法,就用public修饰。

       2、为什么是静态的(static)

       静态可以让JVM调用main方法的时候更加方便,不需要通过对象调用。但这么说的话说服力好像还不够,那我们同样先假设没有static。“main”方法写成:

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

此时,JVM要调用main方法可以这样做:new Demo().main();对于这种情况来说显然是可以的。但是我们接着看下面这种情况:

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

这种情况下,Demo这个类没有了无参构造方法,只有带参的构造方法。此时要创建对象就会调用的带参的构造方法,而带参的构造方法必然是要接受参数的,可是对于JVM来讲,根本就不知道要传递什么参数。所以,将main方法设计成静态的,就避免了这种问题。

       3、为什么没有返回值(void)

       这个很好理解,假设是有返回值的,JVM调用了main方法,main将数据返回给JVM,main方法一旦返回数据,也就意味着程序结束了,而JVM要这个返回的数据是没有意义的。所以就设计main方法为voi。

      4、main

       这个没什么好说的,只不过是JVM能识别的一个特殊的函数名而已。

      5、String [] args

      担心某些程序在启动的时候需要参数,这个我在这里简单演示一下使用方法,好像几乎用不到。

public class Demo {public void main(String[] args) {System.out.println("数组的长度:"+args.length);for (int i = 0; i < args.length; i++) {System.out.println(args[i]+",");}}
}

 

   当然JDK1.5之后引入了可变参数,所以将String [] args写为String...arrgs也是可以的。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/256683.html

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

相关文章

使用main方法启动spring程序

使用main方法启动spring程序 在 spring 框架中&#xff0c;由于对象都交给了 IoC 容器进行管理&#xff0c;那么直接在 main 方法中创建 service 层对象&#xff0c;就会出现空指针异常&#xff08;NPE&#xff09; 正确的方式是从 IoC 的容器中取出对象&#xff0c;再使用对象…

深入理解Java的main方法

一、简单介绍 在我们的Java程序中都会出现一个名称为main的方法&#xff0c;我们发现没有这个方法我们的程序就无法运行。 其实任何一个Java程序的运行入口都是这个main方法&#xff0c;也就是说&#xff0c;程序在运行的时候&#xff0c;第一个执行的方法就是main()方法&#…

SpringBoot项目main方法详解

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

main方法和单元测试方法

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

Java中的main方法

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

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语言学习的第一个方法&#xff0c;也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main&#xff0c;…

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

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

main方法

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

详解Java中的main方法

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

java中类的main方法总结

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

深入理解 main 方法

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

Java main方法

public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Java语言学习的第一个方法&#xff0c;也是每个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联机方法简介

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

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

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

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

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

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

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

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

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

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

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