最近开始学的JAVA,有点感悟了
在学到反射机制的应用时,才知道,原来我们的main函数是可以传参数的!!!(大吃一鲸)
不多bb上代码!
/*Test.java*/
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) throws Exception {
ReflectDemo rd = new ReflectDemo();
if(args != null && args.length >0){
//获取Class对象
Class clazz = rd.getClass();
//获取所有方法
Method[] methods = clazz.getMethods();
for (String str :
args) {
for (int i = 0; i < methods.length; i++) {
if(str.equalsIgnoreCase(methods[i].getName())){
methods[i].invoke(rd);
break;
}
}
}
}else{
rd.method1();
rd.method2();
rd.method3();
}
}
}
/*ReflectDemo.java*/
public class ReflectDemo {
public void method1() {
System.out.println("Method1........");
}
public void method2() {
System.out.println("Method2........");
}
public void method3() {
System.out.println("Method3........");
}
}
本来main函数中的String[] args默认是没有参数传递的,所以会默认执行else语句的代码端。
就像这样
但是在IDEA中是可以添加main函数的参数的,就像这样
点击项目运行这里
这个Edit Configurations
然后找到这个Program arguments
这个里面可以加参数
如果多个参数就用空格分开就好啦
像我这样
然后运行结果就变化啦~
⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐分割线⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
本人小菜鸡一枚~
求大佬带带....