Java中是否可以調用一個類中的main方法?


前幾天面試的時候,被問到在Java中是否可以調用一個類中的main方法?回來測試了下,答案是可以!代碼如下:

main1中調用main2的主方法

package org.fiu.test;

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

public class Main1 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("main1");
		ClassLoader classLoader = Main1.class.getClassLoader();
		try {
			Class<?> loadClass = classLoader.loadClass("org.fiu.test.Main2");
			Method method = loadClass.getMethod("main", String[].class);
			method.invoke(null, new Object[] { new String[] {} });
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NoSuchMethodException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SecurityException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IllegalArgumentException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}

  main2類:

package org.fiu.test;

public class Main2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		System.out.println("main2");
	}

}

  運行main1,打印如下:

main1
main2

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM