JAVA中一个类的main函数调用另一个类的main函数

在JAVA中,同一个项目中,是允许多个类的存在main函数的。

其实,想一想就明白了,JAVA是真正的面向对象语言;所有程序的运行,都基于类;而每一个类,都应该是完整的。

main函数为static函数,在JAVA里,static函数可以直接使用类类型进行调用,也可以实例化一个对象进行调用。

也就是说,在JAVA里,可以直接调用另一个类的main函数。

当然,需要做的事情是,在运行的时候,需要给JVM指定特定的主类运行。如下图所示(Eclipse中):

代码如下:

class SupertTest {
	public static void main(String[] args) {		
		MainTest mainTest = new MainTest();
		mainTest.main(args);
	}
}

class MainTest {
	public static void main(String[] args) {
		System.out.println("Main Test");
	}
}

另外,还有一种方法,即调用反射方法;相当于暴露另一个类的函数接口,进行函数调用。整个程序功能如下:

import java.lang.reflect.Method;


class SupertTest {
	public static void main(String[] args) {
		//直接调用
		MainTest mainTest = new MainTest();
		mainTest.main(args);
		
        //采用反射方法调用
		ClassLoader classLoader = SupertTest.class.getClassLoader();
		
		try {
			Class<?> loadClass = classLoader.loadClass("MainTest");
			Method method = loadClass.getMethod("main", String[].class);
			method.invoke(null, new Object[] { new String[] {} } );
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

class MainTest {
	public static void main(String[] args) {
		System.out.println("Main Test");
	}
}

程序输出 

Main Test
Main Test

说明程序正确运行。

 

  • 17
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值