这一章节我们来讨论一下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. 为什么Android手机总是越用越慢?

    根据第三方的调研数据显示,有77%的Android手机用户承认自己曾遭遇过手机变慢的影响,百度搜索“Android+卡慢”,也有超过460万条结果.在业内,Android手机一直有着“越用越慢”的口碑 ...

  2. hashmap的遍历方法

    How to iterate over the entries of a Map? What is the order of iteration - if you are just using Map ...

  3. Python168的学习笔记2

    关于for循环,其实质是利用被循环对象的__iter__,或者__getitem__属性接口,由可迭代对象得到迭代器.for循环就是不断调用.next(),直到最终捕获到stop. import re ...

  4. 【Codeforces528D】Fuzzy Search FFT

    D. Fuzzy Search time limit per test:3 seconds memory limit per test:256 megabytes input:standard inp ...

  5. Python文件类型

    Python的文件类型分为三种:源代码.字节代码.优化代码. 1. 源代码    Python源代码文件,即py脚本文件,由 python.exe 解释,可在控制台下运行.pyw脚本文件是图形用户接口 ...

  6. hdu 4451 Dressing 排列组合/水题

    Dressing Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  7. Linux下LoadGenerator的搭建

    前提说明: 测试架构:controller部署在windows操作系统下(windows下安装loadrunner的过程,可以去网上搜下,这里不做解释),loadgenerator部署在linux下. ...

  8. http状态码学习笔记

    当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求.当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含HTTP状态码的信息头(server header)用以响应浏览器的请求. ...

  9. Unity消息

    GameObject关于Message带有三种方法, gameObject.SendMessageUpwards ("test1",4);gameObject.SendMessag ...

  10. Android中播放本地SD卡中歌曲须要的加入的权限

    使用MediaPlayer播放本地Mp3文件时.须要注意的訪问路径的问题以及訪问权限的问题. 1.訪问路径:/storage/emulated/0 此路径即为手机的根路径,能够通过下载ES文件浏览器软 ...