从头认识java-特辑-你不知道的main函数
这一章节我们来讨论一下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函数的更多相关文章
- (转)Java程序利用main函数中args参数实现参数的传递
Java程序利用main函数中args参数实现参数的传递 1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,J ...
- java基础9 main函数、this、static、super、final、instanceof 关键字
一.main函数详解 1.public:公共的.权限是最大的,在任何情况都可以访问 原因:为了保证jvm在任何情况下都可以访问到main法2.static:静态,静态可以让jvm调用更方便,不需要用 ...
- 用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。
最近在看算法,看到这个题,觉得挺经典的,收起. 分析: 1 .把问题归结为图结构的遍历问题.实际上6个数字就是六个结点,把六个结点连接成无向连通图,对于每一个结点求这个图形的遍历路径,所有结点的遍历路 ...
- java如何寻找main函数对应的类
参考springboot Class<?> deduceMainApplicationClass() { try { StackTraceElement[] stackTrace = ne ...
- 1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列, 如:512234、212345等. 要求:”4”不能在第三位,”3”与”5”不能相连。
private static String[] mustExistNumber = new String[] { "1", "2", "2" ...
- java中main函数的String[] args
写java程序时main函数必须有一个字符串数组即String[] args 作用:用来获取用户从命令行输入的参数 如果main函数中不写字符串数组,则将会报错
- .NET中Main函数使用小技巧
摘要:任何语言开发出来的程序,都会有一个程序入口函数,可能每个语言所使用的程序入口函数名称不一样,但是它们的作用都是一样的,都是被操作系统去调用.那么本文主要总结.NET中的程序入口函数Main使用的 ...
- android 没有main函数,怎么找到程序执行入口呢?以及activity主要生命周期的方法说明
android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如a ...
- .Net转Java.01.从Main(main)函数说起
在C#中,main函数的签名可以有四种 static void Main(string[] args)static void Main()static int Main(string[] args)s ...
随机推荐
- navicat premium 的使用——navicat 连接MySQL数据库
最近,在学习navicat premium这款第三方软件,他是一个三方数据库管理软件,在前一段时间实习的时候,我使用这款软件调用过服务器上的数据库,不过,当时并没有仔细研究,再次遇到这个软件,我决定仔 ...
- loj#2537. 「PKUWC2018」Minimax
题目链接 loj#2537. 「PKUWC2018」Minimax 题解 设\(f_{u,i}\)表示选取i的概率,l为u的左子节点,r为u的子节点 $f_{u,i} = f_{l,i}(p \sum ...
- [POI2012]Salaries
题目大意: 给定一棵n带权树,每个点的权值在[1,n]范围内且互不相等,并满足子结点的权值一定小于父结点. 现在已知一个包含根结点的联通块中个点的权值,求剩下哪些点的权值能够被求出,并求出这些权值. ...
- hdu 4745 区间dp
题意:求一个环的最长回文序列,是序列不是串 链接:点我 起点是可以任意的, 所以只要求出每个区间的最长回文序列之后取max(dp[1][i]+dp[i+1][n]),即可得最终答案 本来是想扩展两倍的 ...
- hdu 4536 dfs
题意:XCOM-Enemy Unknown是一款很好玩很经典的策略游戏.在游戏中,由于未知的敌人--外星人入侵,你团结了世界各大国家进行抵抗.随着游戏进展,会有很多的外星人进攻事件.每次进攻外星人会选 ...
- C# 推送模板
C#推送模板.安卓个推.消息推送 http://docs.getui.com/server/csharp/template/
- GIT(4)----免输入账号和密码方法
1.全局方式 包删除了,再次下载也不需要在配置输入密码和用户名 参考资料:git pull 和 git push免输入账号和密码方法 2.局部方式 包删除了,密码用户也会被删除,需要重新设置 打开终端 ...
- Aptana studio 3配色方案的修改方法
http://www.weste.net/2013/1-29/88614.html Aptana studio 3的确是一个不错的IDE,但是默认的黑底白色代码样式看时间长了有点审美疲劳了,如何能够更 ...
- 订阅Linux内核邮件列表
http://www.wowotech.net/sort/linux_application/lkml.html https://kernelnewbies.org/ML https://lkml.o ...
- STM32学习笔记3-IO配置输入输出
STM32的IO配置时没什么特殊的,有个注意点就是有用IO前须要先打开其时钟线,下面是验证过oK的程序: RCC->APB2ENR|=GpioBApb2enrEn; //使能PORTB时钟 GP ...