从头认识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 ...
随机推荐
- bzoj4641 基因改造 KMP / hash
依稀记得,$NOIP$之前的我是如此的弱小.... 完全不会$KMP$的写法,只会暴力$hash$.... 大体思路为把一个串的哈希值拆成$26$个字母的位权 即$hash(S) = \sum\lim ...
- php发送get、post请求的6种方法代码示例
本文主要展示了php发送get.post请求的6种方法的代码示例,分别为使用file_get_contents .fopen.fsockopen.curl来发送GET和POST请求,代码如下: 方法1 ...
- vue父子组件使用时遇到的一个问题
子组件一定要写在父组件之前,例如: //子vue,这里遇到一个坑,那就是子vue一定要写在父vue前面,不然会报错. Vue.component('todo-item', { template: $( ...
- android下前端开发诡异bug记录&解决方法
1.border-radius有bug,围不住background 描述:设置了border-radius后,背景色依然会从圆角里冒出来 解决方法:在设置了border-radius的容器加上back ...
- HDU 4716 A Computer Graphics Problem (水题)
A Computer Graphics Problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- Xilinx Platform Usb Cable
Key Features High-performance FPGA configuration and PROM/CPLD programming Includes innovative FPGA- ...
- Jquery ajax传递复杂参数给WebService
参考: http://www.cnblogs.com/kingge/archive/2011/08/04/2127642.html http://www.cnblogs.com/micromouse/ ...
- xamarin其实也是一个鸡肋
刚刚体验了一把VS 2015,后来因为部分sdk和工具下载太慢,还是最终决定卸载.顺道了解了下xamarin studio.个人感觉Xamarin完全也是一个鸡肋,没必要过多的时间在xamarin上面 ...
- MySQL数据库事务各隔离级别加锁情况--Repeatable Read && MVCC(转)
本文转自https://m.imooc.com/article/details?article_id=17289 感谢作者 上节回顾 上两篇记录了我对MySQL 事务 隔离级别read uncommi ...
- Selenium2+python自动化61-Chrome您使用的是不受支持的命令行标记:--ignore-certificate-errors
前言 您使用的是不受支持的命令行标记:--ignore-certificate-errors.稳定性和安全性会有所下降 selenium2启动Chrome浏览器是需要安装驱动包的,但是不同的Chrom ...