全面解析Java main方法

1、main方法的重载

package cn.nxl;
 public class Main_test {
  public static void main(String args[]) {
   System.out.println("应用程序入口的main方法");
   main();
   main();
   main(, );
  }
  public static void main(){
   System.out.println("无参的main方法");
  }
  public static void main(int i){
   System.out.println("有参的重载main方法");
  }
  public static void main(int i,int j){
   System.out.println("有两个参数的重载main方法");
  }
 }

以上实例说明main方法是可以重载的,每个main方法的参数都是不同的,程序是可以运行的,可以输出应有的结果。但是,如果没有程序入口的main方法,只含有其他main方法。虽然编译此程序是可以的通过的,但是运行时会产生错误。这是因为程序运行时,Java虚拟机找不到对应的main方法,就会产生运行错误。

2、main方法的调用

 public class Main_test {
  public static void main(String[] args) {
   main(args);
  }
  public static void main(String[] args){
   main(args);
  }
 }

运行程序后,程序无限递归执行两main方法,很明显main方法是可以被调用的。

3、main方法的继承

Main.java:
 public class Main{
  public static void main(String[] args) {
   System.out.println("Hello Word!");
  }
 }
Main_test.java:
 public class Main_test extends Main{
 }

编译运行Main_test.java后输出了“Hello Word!”,说明main方法是可以被继承。

4、main方法的隐藏

Main.java:
 public class Main{
  public static void main(String[] args) {
   System.out.println("Main");
  }
 }
Main_test.java
 public class Main_test extends Main{
  public static void main(String[] args) {
   System.out.println("Main_test");
  }
 }

很显然父类Main中的main方法被隐藏,结果显示的是子类中的main方法中的内容。

总结

以上所述是小编给大家介绍的Java main方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 浅谈java 执行jar包中的main方法

    浅谈java 执行jar包中的main方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&

  • Exception in thread main java.lang.NoClassDefFoundError错误解决方法

    错误描述 javac helloworld.java能够通过.但是java helloworld出现错误: hadoop@xuwei-erplab:~/jarfile$ java HelloWorld Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: org/xuwei/HelloWorld) at java.lang.ClassLoader.defineClass1(N

  • java打包成jar并执行jar包中指定的main方法

    java打包成jar jar -cvf [jar包的名字] [需要打包的文件] 执行jar包中的main方法 java -jar ****.jar 执行后总是运行指定的主方法,如果 jar 中有多个 main 方法,那么如何运行指定的 main 方法呢? 用下面的命令试试看: java -classpath ****.jar ****.****.className [args] "****.****"表示"包名": "className"表示&q

  • android工程下不能运行java main程序的解决方法

    右击有main方法的类 ===> Run as ===> Run Configurations ===>双击java application ===> 单击有main方法的类 ===>选中classpath选项卡 ===> remove掉Bootstrap Entries下的android.jar ===> 然后点击advanced ===> Add Library ===>JRE System Library ===>next ===>最

  • 在maven工程里运行java main方法

    在Maven工程里运行Java main方法 复制代码 代码如下: mvn compilemvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"

  • 详细讲解Java中的main()方法

    前言 JAVA中的主函数是我们再熟悉不过的了,相信每个学习过JAVA语言的人都能够熟练地写出这个程序的入口函数,但对于主函数为什么这么写,其中的每个关键字分别是什么意思,可能就不是所有人都能轻松地答出来的了.我也是在学习中碰到了这个问题,通过在网上搜索资料,并加上自己的实践终于有了一点心得,不敢保留,写出来与大家分享. Java中的main()方法 java虚拟机通过main方法找到需要启动的运行程序,并且检查main函数所在类是否被java虚拟机装载.如果没有装载,那么就装载该类,并且装载所有

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

    分享给大家,如有错误,请指出. 1.不用main方法如何定义一个类? 不行,没有main方法我们不能运行Java类. 在Java 7之前,你可以通过使用静态初始化运行Java类.但是,从Java 7开始就行不通了. 2.main()方法需要的参数不是字符串数组? 不是的,main()方法的参数必须是字符串数组. 但是,在引进变参时,你可以将字符串类型的变参作为参数传递给main()方法.变参一定得是数组. package com.instanceofjava; public class Main

  • 全面解析Java main方法

    1.main方法的重载 package cn.nxl; public class Main_test { public static void main(String args[]) { System.out.println("应用程序入口的main方法"); main(); main(); main(, ); } public static void main(){ System.out.println("无参的main方法"); } public static

  • Java main方法String[]args原理实例解析

    一个程序中必定会有一个入口,java中main方法就是一个项目的的入口, public static void main(String[] args) {} eclipse的生成快捷键main+回车 ,idea的生成快捷键:psvm+回车 args数组是main方法自带的,我也不知道干什么的最近刷题遇到了三个有关的这个的题目看着我迷迷糊糊的记录一下 第一题: 第二题: 第三题 三个题都涉及了这个String[]args数组 下面以第二题为例简单说: 下面有一段代码,简单看看跟题目一样: publ

  • 深入理解Java main方法详解

    目录 1. 深入理解 main 方法 2. 在 Idea 下如何传递参数 总结 1. 深入理解 main 方法 解释main方法的形式:public static void main(String[] args){} 1..main方法是虚拟机调用的 2.java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是public 3.java虚拟机在执行main()方法时不必创建对象,所以该方法必须是static 4.该方法接收String类型的数组参数,该数组中保存执行java命令时传

  • 使用maven运行Java Main的三种方法解析

    maven使用exec插件运行java main方法,以下是3种不同的操作方式. 一.从命令行运行 1.运行前先编译代码,exec:java不会自动编译代码,你需要手动执行mvn compile来完成编译. mvn compile 2.编译完成后,执行exec运行main方法. 不需要传递参数: mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" 需要传递参数: mvn exec:java -Dexec.main

  • Android Studio无法执行Java类的main方法问题及解决方法

    Android Studio升级到哦最新版3.6.1后,新建了个项目,发现无法执行Java类的main方法.试了网上的各种方法,比如切换gradle离线模式.gradle.properties中添加android.enableAapt2=false等,我还尝试了重新情况Gradle缓存.重新下载gradle等方式,都没用. 环境 android studio版本:3.6.1 gradle版本:5.6.4 gradle插件版本:3.6.1 错误提示 11:41:35 PM: Executing t

  • java解析Excel的方法(xls、xlsx两种格式)

    一.需要导入的jar 1.commons-collections4-4.1.jar 2.poi-3.17-beta1.jar 3.poi-ooxml-3.17-beta1.jar 4.poi-ooxml-schemas-3.17-beta1.jar 5.xmlbeans-2.6.0.jar 二.主要API 1.import org.apache.poi.ss.usermodel.Workbook,对应Excel文档: 2.import org.apache.poi.hssf.usermodel.

  • Java继承方法重写实现原理及解析

    这篇文章主要介绍了Java继承方法重写实现原理及解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在Java继承中,子类可以获得父类所有的结构,也可以增加与父类不同的属性和方法.但是,有一种情况,一个相同的方法,子类的行为并不像父类那样,这时,就需要重写父类的方法,下面是重写的代码实现: 代码体现 package com.my.pac12; /** * @author Summerday * @date 2019/12/11 21:26 */

  • 简单解析java方法在调用在内存中的执行过程

    目录 一.前提 1.栈的内存原理图 2.JVM是怎么运行方法的??? 二.调用(执行)过程 1.方法调用时的规则 2.示例代码 3.整个程序的方法调用的过程图 4.示例代码运行截图 一.前提 1.栈的内存原理图 2.JVM是怎么运行方法的??? 1.在运行阶段的时候,classLoader类加载器会把class文件中方法对应的代码片段放入内存区中的方法区中,以便于下次调用方法时,还能使用该方法. 2.JVM在运行过程中,会把方法里面的代码块按照方法调用的先后顺序压栈入内存中的栈空间,按照方法里语

随机推荐