标签:
1.标准的main函数形式
对于main函数,只要是
public static void main(String[] args)
public static void main(String... args)
public static void main(String args[])
这样的,虚拟机都能找到并进入程序,如果你的main函数没有这样写,会提示找不到main函数。
2.main函数的修饰
(1)public,因为需要从外部调用;
(2)static,这时main所在的类还没有实例化;
(3)void,表明不返回值。
3.main函数的一般性
除了main是程序的入口外,main函数就是一个普通的函数,每个类都可以有。我们可以对main函数进行调用,重载...
4.重载main方法
public class test {
public static void main(int i) {
System.out.println("int main : " + i);
}
public void main(char c) {
System.out.println("char main : " + c);
}
public void main(String s) {
System.out.println("char main : " + s);
}
public static void main(String[] args) {
test temp = new test();
main(11);
temp.main(‘t‘);
temp.main("temp");
}
}
5.调用main方法
public class test {
private static boolean done = false;
public static void print() {
if(!done) {
done = true;
System.out.println("in print");
String[] args = {"a", "b", "c"};
main(args);
}
}
public static void main(String[] args) {
for(String s : args)
System.out.print(s + " ");
print();
}
}
6.继承main方法
class superTest {
public static void main(String[] args) {
System.out.println("in super");
}
}
public class test extends superTest{
public static void main(String[] args) {
superTest.main(args);
System.out.println("in test");
}
}
7.调用另外一个程序的main方法
这里我只是调用同一个.java文件下的类,你可以调用不同的.java的类,不同package的类的main方法,只要你能在Class.forName()里给出正确的路径。
package test;
import java.lang.reflect.Method;
public class testClass{
public static void main(String[] args) {
Class<another> c = null;
try {
c = (Class<another>) Class.forName("test.another"); //找到另外一个程序的class
Method m = c.getDeclaredMethod("main", args.getClass()); //找到该class的main方法
m.invoke(null, (Object) new String[0]);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("in test");
}
}
class another {
public static void main(String[] args) {
System.out.println("in another");
}
}
标签:
原文地址:http://www.cnblogs.com/programmer-kaima/p/4349168.html