Java main方法
public static void main(String[] args) {}
或者
public static void main(String args[]) {}
main方法是我们学习Java语言学习的第一个方法,也是每个java使用者最熟悉的方法,每个Java应用程序都必须有且仅有一个main方法。在eclipse里可以使用输入main,在按住Alt+/的方式快速创建main方法。可以说main方法是最简单的方法,因为main方法几乎是固定不变得,除了String[] args可以写成String args[],以及args的名称可以改变外,其它所有均不改变。main方法也是特殊的,因为它的类型必须是public static void,甚至名字都必须是main,还有括号内的参数String[] args,很多初学者都不知道它的作用。正是这种简单而特殊的性质,往往容易让人对它产生忽视以及疑惑。下面就详细谈谈java main方法:
根据Java语言规范,main方法必须声明为public。但是在JavaSE1.4以前的版本中,当main方法不是public时,有些版本的Java解释器也可以执行Java应用程序。详见http://bugs.sun.com/bugdatabase/index.jsp,bug号码4252539。当时SUN公司的工程师解释说,Java虚拟机规范并没有要求main方法一定是public。以上只是写出来,丰富一下兴趣。如果有人说Java main方法从来只能用public,那样说实际上还是错的,因为以前出过这么个BUG。但是在1.4版本之后main方法已经被强制成了public,所以现在我们看到的main方法只能是public。
public是一种访问权限修饰符,public中文翻译共有,正如它的实际意思一样,在Java里面所有被public修饰的方法,类等都可以在任意其他地方调用。main方法之所以是public,是因为一个Java程序在运行时首先创建一个JVM实例,程序要运行需要调用main方法,JVM从外部调用main方法这就需要访问权限修饰符必须给出外部访问的权限,所以只能用public。
static的定义是为了JVM在调用main方法时不用实例化对象,只需要在初始时加载main方法所在类,然后直接通过类名.main来调用main方法。
void表示main方法没有返回值,没有返回值的原因是因为Java不需要main方法向操作系统返回退出信息。如果main方法正常退出,那么Java应用层序的退出代码为0,表示成功的运行了程序。
main的名称不能变是为了JVM能够识别程序运行的起点,main方法可以被重载,重载的main方法不会被执行。main方法作为程序初始线程的起点,任何其他线程均由该线程启动。JVM内部有两种线程,非守护线程和守护线程,main方法属于非守护线程,守护线程通常由JVM自己使用,Java程序也可以表明自己的线程是守护线程。当程序中所有的非守护线程终止时,JVM退出。也可以用Runtime类或者System.exit()来退出。
String[] args,是main方法中唯一可以改变的地方!args是arguments的缩写,只是一个变量默认名,习惯性写作它,但是也可以改变的,只要符合命名规则随便你写成什么。在使用集成开发工具的今天,String[] args更像是一种摆设了,很多初学者都不知道它的作用,其实它是程序运行传入的一个参数组。一个简单的例子:
用文本工具如下代码并将其保存为Test.java
public class Test{public static void main(String[] args){System.out.println("获取数组args[]的数据");for(int i=0;i<args.length;i++){System.out.println(args[i]);}}
}
以管理员身份运行CMD,因为我的Test.java是直接保存在F盘中的,输入f:跳转到目录,输入Javac Test.java将其编译为Test.class文件
然后输入java Test 5 4 3 2 f xx,获取输出数据
Java中所有方法的代码都是从“{”开始,以“}”结束。
Java main方法相关推荐
- main方法中args_public static void main(String [] args)– Java main方法
main方法中args public static void main(String[] args) is the most important Java method. When you start ...
- java main 方法使用 HttpClients发送请求 不打印debug日志
记录目的:java main 方法使用HttpClients发送请求不打印debug日志 记录背景: 使用java main方法测试接口响应时间 发现问题: 控制台打印巨多debug日志 解决方法: ...
- Java main方法_解释Java中的main方法,及其作用_一个java文件中可包含多个main方法
public static void main(String[] args) {} 或者 public static void main(String args[]) {} main方法是我们学习Ja ...
- Maven exec:java 运行 Java main 方法
目录 前言 适用条件 方法1 遇到错误:[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.5.0:java (d ...
- java main方法里调用mapper
在main方法中调用mybatis的mapper,一次性执行导入数据功能package com.runxsoft.test;import com.runxsoft.iutils.common.util ...
- java main方法背后的故事?(转)
jvm java 看似一种语言,实则一个巨大的体系的王国,开发这么多年了,还是没有搞懂,我以为我懂了,可是过了一段时间又忘了,所以说还是没懂 1.main方法说起 编译完我们的java文件后,需要有个 ...
- Java main()方法
在 Java 中,main() 方法是 Java 应用程序的入口方法,程序在运行的时候,第一个执行的方法就是 main() 方法.main() 方法和其他的方法有很大的不同. 下面先来看最简单的一个 ...
- Java main 方法详解
1.main方法说起 编译完我们的java文件后,需要有个一含有main方法的类,java 命令将指示操作系统启动一个jvm进程 这个jvm进程启动后,寻找那个main地方开始执行程序 java [J ...
- 深入理解Java main方法
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,例如 方法的名字必须是main 方法必须 ...
最新文章
- 专业版云南_云南核桃集中上市市民“囤货”忙,天眼查:我国8万余家核桃相关企业,云南省数量最多...
- 自动驾驶的摩尔定律:无人驾驶的最终实现时间或在2035年丨厚势汽车
- python mongodb 异步_【转】Python操作MongoDB数据库
- linux基础——linux进程间通信(IPC)机制总结
- Zookeeper的ZAB协议和Leader选举过程剖析
- Python `__enter__` `__exit__`(with)
- Cesium:通过字符串创建颜色
- 我的大学专业是计算机英语作文,我的大学计划英语作文(通用5篇)
- xp 64位系统下载
- 搭建vlmcsd KMS服务器
- 市面上哪款输入法最好用,对比出结论
- OSChina 周五乱弹 —— 毁人不倦的大师们
- Python: 鲁卡斯队列
- 关于多因子模型在基金市场中的应用
- 为什么手机充电这么慢?别用错数据线
- 刀塔OMG塔防1.23单机版使用方法
- 公网访问本地内网web服务器【内网穿透】
- 新闻/媒体 发布接口定制_每日新闻摘要,19/4/14:老大哥在看
- mac安装pygraphviz找不到头文件
- mysql不可重复读和重复读_MySql隔离级别:RU / RC / RR / S + 脏读 / 不可重复读 / 幻读 / 可重复读...