java基础篇——众所周知的main方法

      main方法可以说是每个java初学者最先接触的方法了,该方法的定义中必须含有public、static、和void关键字。那 么,为什么要这样定义呢?如果少了一个关键字(比如少了public或static),程序是否还能正常运行呢?如果不能,那么是在什么时候出现错误,是 在编译时,还是运行时?把main方法定义成这样,是否意味着这是一个很特殊的方法呢?我们来看一个简单的例子。

      main方法的基本原型

public class MainMethod {
      public static void main(String[] args) {
            System.out.println(“This is main method”);
            System.out.println(“It’s public,static,and void.”);
       }
}

     上面的程序只是简单地输出了两句话:

     This is main method

     It’s public,static,and void.

     作为应用程序入口的main方法,其格式定义为:public static void main(String[] args) 或者public static void main(String args[] ) ,这样定义的原因如下。

  •  public:main方法是在程序启动时由java虚拟机调用的,所以应声明为public。
  • static:既然是方法,那么就应当通过指向对象的引用来访问,否则,就应该将方法声明为static。main方法这样声明是因为无需生成对象实例便可由java虚拟机直接调用。例如在本例中,我们并没有生成MainMethod累的任何实例。
  • void:main方法在退出时,没有给出退出代码,而是在需要时使用System.exit(int status)方法返回,所以返回类型为void。
  • String[] args:此字符串数组用来运行时接收用户输入的参数,具体长度取决于用户输入参数的个数,如果用户没有输入参数,那么args数组长度为0(并非为null)。

      修改main方法原型

      现在,我们将上例中代码的第2行修改如下(去掉public):static void main(String[] args) {

      编译程序,没有发现错误,但运行时,屏幕显示了如下信息:Main method not public.由此说明,mian方法必须为public,否则java虚拟机无法调用。接着修改第2行的代码(还原public,但去掉static):public void main(String[] args) {

      编译程序,同样没有错误,但也不能正常运行:

Exception in thread “main” java.lang.NoSuchMethodError:main

      因为java虚拟机要调用的是带有static的main方法,而程序中的main方法与标准的main方法不能完全吻合,即找不到需要调用的 main方法,所以会给出错误信息,修改main方法的返回类型(如改为int)或是修改main方法的参数(如改为无参)也会出现与无static的 main方式相同的错误。

      main方法是应用程序的入口方法,在程序运行时由java虚拟机调用,除此之外与普通的静态方法没什么不同。main方法可以重载,被其他方法所 调用,也可以由子类继承,或在子类中重新定义(隐藏父类的main方法)。从一个众所周知的main方法,可以引导出这么多细节变化来,真的是小入口有大 突破,现在应该对main方法有更深入的了解了吧!有什么问题或见解,欢迎来八零客团队博客来讨论,80客 团队成员随时欢迎!

      本文转载来自:http://www.balingke.com/archives/550. html

Java中的main()方法如何运用? ​ 在Java中,main()方法Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。 在看Java中的main()方法之前,先看一个最简单的Java应用程序HelloWorld,我将通过这个例子说明Java类中main()方法的奥秘,程序的代码如下: publ... 阅读详情

相关推荐

Javamain方法

Java中,main方法是程序的入口点。当你运行一个Java应用程序时,Java虚拟机(JVM)会寻找并调用该类的main方法作为程序执行的开始。main方法具有特定的签名,它必须被声明为public,返回类型必须是void,并且它必须接受一个String数组作为参数。当你编写一个Java应用程序时,你需要在某个类中包含一个main方法作为程序的入口点。在上面的例子中,arg1、arg2和arg3将被作为字符串存储在args数组中,并可以在main方法内部被访问和处理。

qq_41670002的博客 974

10个经典的 Java main 方法面试题

1.不用main方法如何定义一个类?不行,没有main方法我们不能运行Java类。在Java 7之前,你可以通过使用静态初始化运行Java类。但是,从Java 7开始就行不通了。2.main()方法需要的参数不是字符串数组?不是的,main()方法的参数必须是字符串数组。但是,在引进变参时,你可以将字符串类型的变参作为参数传递给main()方法。变参一定得是数组。packag...

weixin_33735077的博客 424

ARCGIS绘制全国各省PM2.5浓度图操作步骤

ArcGIS新手小白一枚,经常需要帮助老师绘制一些简单的空间图,利用ArcGIS绘制全国各省的pm2.5浓度图,简单又方便,不记下来会忘记~

weixin_43458484的博客 1万+

java怎么运行main方法吗_javamain方法是怎么运行的?

学过java的都知道main方法是学习java的开始,也是程序的入口,不过你有多少个类或程序,线程,他们的入口方法都是main()main方法是一个静态的方法,所以这个方法是属于类的,而不是对象的;在 main() 方法中,参数类型是 “String[] args”, 意味着在启动Java应用的同时,传递一个 String 类型的数组来定制化应用的初始化属性。执行过程:现在的问题是:JVM是如何加...

weixin_39601657的博客 1942

java中类的main方法总结

一、java中每个类都需要有main方法吗? 每个类可以有也可以没有main方法, 甚至所有类里可以都没有main方法。如果你想从某个类做为入口开始运行整个程序。那么就把他设成 public ,之后再里面写个main方法作为入口。 每个项目都要有一个主类,这个主类中必须得有main,用于程序的入口.在程序测试时,一般每个类中都有一个main,用于方便测试人员对类成员进行测试 不是,可有可无。但是你要执行的类中必须有,因为main函数是提供程序执行的进入口。比如你 java Test 那麼Test类中必须有个

qq_41854911的博客 2万+

java main方法

package com.lp; public class MainMethod { /* * public:main方法启动由java虚拟机调用,必须声明public。 * static:main无需生成对象实例就可由虚拟机调用。 * void:main方法退出时没有退出代码,而是在需要时使用System.exit(int status)返回。 * String[] args:

仁者无敌的专栏 552

JAVA】二、初识Javamain方法

走进 Java,解锁编程的无限可能! 🚀 本文从 main 方法 的示例出发,拆解 Java 程序的基本结构:源文件、类 和 方法。接着,我们一步步解析 Java 程序的运行机制,从编写到执行,展现 JVM 如何将字节码转化为运行结果。最后,通过厘清 JDK、JRE 和 JVM 三者关系,呈现 Java 的完整运行框架。无论是初探 Java 还是温故知新,本文都将帮助你进行理解。

Practice makes perfect 1450

java】初识javamain方法

Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。

weixin_66058866的博客 4463

Java main方法

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

从零开始的博客 8万+

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,在按住Alt+/的方式快速创建main方法。可以说main方法是最简单的方法,因为main方法几乎是固定不变得,除了String[] args可以写成St

qq_43842093的博客 1万+

[java] 关于main方法的一切

Table of Contents 概述 为什么main方法必须是static的? 为什么main方法必须是void的? 为什么main方法必须是public的? 其他 概述 Java中的main方法,是一个java应用程序的入口,无论一个java的应用多么复杂庞大,或是多么的小,只要他是一个可以运行的java程序那么必然就要有一个main方法main方法的定义格式通常固定如下: ...

topdeveloperr的博客 6123

javamain方法的作用是什么_javamain方法是什么

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

weixin_39849387的博客 4566

Java基础——main方法

深入理解main方法 解释main方法的形式:public static void main(String [] args){} main方法是由java虚拟机调用的。 java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public。 Java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static。 该方法接受String类型的数组参数,该数组中保存执行java命令时传递给所运行的类的参数,案例演示,接收参数(如下图)。 java执行的程序 参数1 参数2

Wen先森的博客 5342

Javamain方法

1、main方法的调用者是java虚拟机。 2、因为调用者是java虚拟机,java虚拟机不在该类中也不在该类所在的包中更不是该类的子类,所以main函数的权限只能设置为最大的public,便于java虚拟机的调用。 3、java虚拟机在执行main方法时不必创建对象,所以方法必须是static,也就是在类加载进内存时该方法就可以使用。 4、该方法接收String类型的数组参数,该数据中保存执行java命令时传递给所运行的类的参数。...

baiqi123456的博客 1万+

Java中的main方法

在一个Java应用程序中,通常程序的入口是

码农的世界 1万+

Java中为什么一定要有main方法

public static void main(String[] args)为java程序的入口方法,jvm在运行程序时,会首先查找main()方法。其中public是权限修饰符,表明任何类或对象都可以访问这个方法,static表明是静态方法,及方法中的代码是存储在静态存储区的,只要类被加载后,就可以使用该方法,不需要通过实例化来访问,可直接通过类名.main()直接访问,jvm在启动时就是按照上诉方法的签名(必须有public和static修饰,返回值为void,且方法参数为字符串数组)来查...

weixin_42456439的博客 6435

浅谈——众所周知main()

浅谈——众所周知main() 我们刚开始写java程序,一般写的第一句,或者最常见的一句,就是: public static void main(String[] args){},我想很多人都这样写过或者是直接由编译器生成,但却并没有想这句代码有没有更深的含义,包括我。直到今天敲代码敲到这句话的时候,突然就想研究一下这句代码,下面是我研究的一些笔记和成果。 在此之前,我们需要了解一下怎么用命令行编译执行我们的java程序 ...

qq_49639550的博客 399

javamain是什么_Java中的main()方法详解

Java中,main()方法Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。在看Java中的main()方法之前,先看一个最简单的Java应用程序HelloWorld,我将通过这个例子说明Ja...

weixin_42498641的博客 5804
下一篇: 让你很容易忽视的一个整数运算
haowenxin
博客等级 码龄19年 0粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值