从头认识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函数,事实上这里是标题党啦,呵呵。


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

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

文件夹


原文地址:https://www.cnblogs.com/gccbuaa/p/7350404.html