//在Main方法中如何通过字符串a,b分别调用方法testa,testb
public class Test {
public static void main(String[] args) {
String a = "test";
String c = "有参数";
String b = "test(c)";
}
public static void testa() {
System.out.println("无参数");
}
public static void testb(String c) {
System.out.println(c);
}
}
抱歉写错了
String a = "testa";
如何根据字符串a调用testa方法
String c = "有参数";
String b = "testb(c)";
如何根据b调用testb方法c为参数
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) {
String a = "testa";
String b = "testb";
call(a);
call(b, "hello");
}
private static void call(String methodName) {
try {
Method m = Test.class.getDeclaredMethod(methodName);
m.invoke(Test.class);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void call(String methodName, String param) {
try {
Method m = Test.class.getDeclaredMethod(methodName, String.class);
m.invoke(Test.class, param);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void testa() {
System.out.println("æ åæ°");
}
public static void testb(String c) {
System.out.println(c);
}
}
public class Test {
public static void main(String[] args) {
String a = "testa";
String b = "testb";
call(a);
call(b, "hello");
}
private static void call(String methodName) {
try {
Method m = Test.class.getDeclaredMethod(methodName);
m.invoke(Test.class);
} catch (Exception e) {
e.printStackTrace();
}
}
private static void call(String methodName, String param) {
try {
Method m = Test.class.getDeclaredMethod(methodName, String.class);
m.invoke(Test.class, param);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void testa() {
System.out.println("æ åæ°");
}
public static void testb(String c) {
System.out.println(c);
}
}
è¯è¯è¿ä¸ªå¯ä»¥ä¸ã
å¦æ解å³äºæ¨çé®é¢è¯·é纳ï¼
å¦ææªè§£å³è¯·ç»§ç»è¿½é®
åä½ å·®ä¸å¤å§ï¼å¦æspeakè¿ä¸ªæ¹æ³å¨å
¶å®å
ä¸ æ¹æä¹è°ç¨å¢ æ±è§£
温馨提示:答案为网友推荐,仅供参考
第1个回答 2015-03-20
public class Test {
public static void main(String[] args) {
test();
test("有参数");
}
public static void test() {
System.out.println("无参数");
}
public static void test(String c) {
System.out.println(c);
}
}
这叫方法的重载,方法名一样,参数列表不一样。是面象对象重要特征追问
public static void main(String[] args) {
test();
test("有参数");
}
public static void test() {
System.out.println("无参数");
}
public static void test(String c) {
System.out.println(c);
}
}
这叫方法的重载,方法名一样,参数列表不一样。是面象对象重要特征追问
谢谢哈 怪我上面写错了 回答的和我问的完全不是一回事
追答哦,那你可以用java的反射机制来实现
追问恩 我试试哈