这一章节我们来讨论一下main函数。

对于这个函数大家都不陌生,并且都习以为常。可是当中有一些东西,还是值得我们去总结的。

1.普通的main

package com.ray.test;

public class MainTest {

	public static void main(String[] args) {

	}
}

没什么特别。就是一个main的空方法

2.没有static的main

package com.ray.test;

public class MainTest {

	public void main(String[] args) {

	}
}

编译一样通过, 只是不能run。一run就报NoSuchMethod异常

3.没有參数的main

package com.ray.test;

public class MainTest {

	public static void main() {

	}
}

编译一样通过。 只是不能run。一run就报NoSuchMethod异常

4.參数为字符串的main

package com.ray.test;

public class MainTest {

	public static void main(String args) {

	}
}

编译一样通过。 只是不能run,一run就报NoSuchMethod异常

5.有final的main

package com.ray.test;

public class MainTest {

	public static final void main(String args) {

	}
}

编译一样通过, 只是不能run。一run就报NoSuchMethod异常

6.有返回值的main

package com.ray.test;

public class MainTest {

	public static int main(String args) {
return 0;
}
}

编译一样通过, 只是不能run,一run就报NoSuchMethod异常

7.解释

如今这里解释一下上面的main,事实上上面全部的main,我们都被误导了

上面全部的main函数,都不是我们所说的可以执行的main函数。仅仅只是是一个叫main的普通函数

我们可以在以下再建立一个我们所知道的普遍的main函数

或者讲的技术一点,就是我们重载(注意:不是重写)main这个函数而已,可是我们的jvm仅仅认他的格式的main函数,否则.class文件不能执行

总结:这一章节主要介绍了你不知道的main函数,事实上这里是标题党啦,呵呵。

这一章节就到这里,谢谢。

-----------------------------------

文件夹

从头认识java-特辑-你不知道的main函数的更多相关文章

  1. (转)Java程序利用main函数中args参数实现参数的传递

    Java程序利用main函数中args参数实现参数的传递 1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,J ...

  2. java基础9 main函数、this、static、super、final、instanceof 关键字

    一.main函数详解 1.public:公共的.权限是最大的,在任何情况都可以访问  原因:为了保证jvm在任何情况下都可以访问到main法2.static:静态,静态可以让jvm调用更方便,不需要用 ...

  3. 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。

    最近在看算法,看到这个题,觉得挺经典的,收起. 分析: 1 .把问题归结为图结构的遍历问题.实际上6个数字就是六个结点,把六个结点连接成无向连通图,对于每一个结点求这个图形的遍历路径,所有结点的遍历路 ...

  4. java如何寻找main函数对应的类

    参考springboot Class<?> deduceMainApplicationClass() { try { StackTraceElement[] stackTrace = ne ...

  5. 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、212345等. 要求:”4”不能在第三位,”3”与”5”不能相连。

    private static String[] mustExistNumber = new String[] { "1", "2", "2" ...

  6. java中main函数的String[] args

    写java程序时main函数必须有一个字符串数组即String[] args 作用:用来获取用户从命令行输入的参数 如果main函数中不写字符串数组,则将会报错

  7. .NET中Main函数使用小技巧

    摘要:任何语言开发出来的程序,都会有一个程序入口函数,可能每个语言所使用的程序入口函数名称不一样,但是它们的作用都是一样的,都是被操作系统去调用.那么本文主要总结.NET中的程序入口函数Main使用的 ...

  8. android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明

    android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a ...

  9. .Net转Java.01.从Main(main)函数说起

    在C#中,main函数的签名可以有四种 static void Main(string[] args)static void Main()static int Main(string[] args)s ...

随机推荐

  1. eventbus 视频

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 尚硅谷Android视频<EventBus>_腾讯课堂

  2. SQLSERVER2014集群实战——DNS的坑

    近几日生产环境总是偶发的出现数据库连接失败的错误,一开始并未引起重视,因为反馈的人很少,而且应用服务器与数据库服务器都处在同一机房的内网环境,相互之间的访问应该是很稳定的.直到早上有几分钟的时间里出现 ...

  3. 2333: [SCOI2011]棘手的操作[我不玩了]

    2333: [SCOI2011]棘手的操作 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1979  Solved: 772[Submit][Stat ...

  4. bzoj 2998 第k小字串

    这道题用后缀数组貌似会T. 后缀自动机做法: t==0:第k小的本质不同字串 首先把后缀自动机建出来,我们会得到一个DAG,并且只存在一个点入度为0(我们称之为根),可以证明字符串的任意一个本质不同的 ...

  5. hdu 4452 Running Rabbits 模拟

    Running RabbitsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  6. wikioi 1294 全排列 dfs

    1294 全排列 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold       题目描述 Description 给出一个n, 请输出n的所有全排列 输入描述 Inpu ...

  7. Java的Spi机制心得

    Java spi : 是Java EE 给服务供应商提供的接口,供应商遵循接口契约提供自己的实现.. 简单来讲就是为某个接口寻找服务实现的机制. 在看JDBC源码当看到DriverManage.get ...

  8. Assembly类

    System.Reflection.Assembly类是一个比较常用到的类,在反射中就经常用到. 由于这个类实在有太多的字段.属性与方法.实在不想将一个个属性方法从MSDN复制出来然后逐个属性.方法敲 ...

  9. MVC文件上传09-使用客户端jQuery-File-Upload插件和服务端Backload组件让每个用户有专属文件夹,并在其中创建分类子文件夹

    为用户创建专属上传文件夹后,如果想在其中再创建分类子文件夹,该怎么做?可以在提交文件的视图中再添加一个隐藏域,并设置 name="uploadContext". 相关兄弟篇: MV ...

  10. mysql 主从复制原理(转)

    本文转自https://blog.csdn.net/php_younger/article/details/59673879 mysql 主从复制原理 主从形式   mysql主从复制 灵活 一主一从 ...