java根据入参不同调不同方法_java根据传入参数不同调用不同的方法,求高手支妙招!...

java根据传入参数不同调用不同的方法,求高手支妙招!

关注:138  答案:5  mip版

解决时间 2021-02-02 20:33

e6cb1a03ad541b3098697807b7bf1798.png

提问者我微笑着泪滴

2021-02-02 07:00

比如invokeMethod(String method); 传入“1”调用method1(),传入“2”调用method2()...

要求:最好不使用反射,不使用if else ,不使用switch case

可以考虑抽象类,接口等。。。

最佳答案

e6cb1a03ad541b3098697807b7bf1798.png

二级知识专家敌不过时间逃不过距离

2021-02-02 07:49

使用反射可以如下:

public class Test {

public void method1() {

System.out.println("method1() invoked");

}

public void method2() {

System.out.println("method2() invoked");

}

public void method3() {

System.out.println("method3() invoked");

}

public void invokeMethod(String methodName) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {

Test.class.getMethod(methodName,null).invoke(this,null);

}

public static void main(String[] args) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {

new Test().invokeMethod("method2");

}

}不过按你的要求不知道怎么做

全部回答

e6cb1a03ad541b3098697807b7bf1798.png

1楼口袋里的自由

2021-02-02 11:34

这题目,额。。。。

e6cb1a03ad541b3098697807b7bf1798.png

2楼寄出个心动

2021-02-02 10:14

bad requirement.

invokeMethod("method"+1);

invokeMethod("method"+2);

e6cb1a03ad541b3098697807b7bf1798.png

3楼繁华初下,心已空

2021-02-02 08:59

使用switch语句

e6cb1a03ad541b3098697807b7bf1798.png

4楼错过の花开

2021-02-02 08:10

比较常用或者通用的方式是采用if语句。

语法:

if (逻辑条件判断)

{

语句块

}else if(逻辑条件判断){

}else{

}举例:

public class A{//定义一个类A

public void s1(){//定义方法s1

}

public void s2(){//定义方法s2

}

public void s3(){//定义方法s3

}

public void show(int a){//定义一个方法show

if(a==1){//如果a等于1

s1();//调用方法s1

}else if(a==2){

s2();//调用方法s2

}else{

s3();//调用方法s3

}

}

}

我要举报

如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!

→点此我要举报以上信息!←

推荐资讯

大家都在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值