Re: [問題] 有沒有可能做到類似函式指標的功能?
※ 引述《ciphero (奶油焗蛋餃...:))》之銘言:
(略)
: 以上是一段簡單易懂的程式碼,想要呼叫什麼 Method,就輸入那個方法當作參數就好
: 但是缺點是相當難以維護,
: 只要我新增了一個 printD() 方法,也就必須要在 main() 裡面加上:
: else if(argv[0]=="printD") abc.printD();
: 這一段 code 才行,相當不方便
: 理想的程式,應該是新增了任何 printX() 之後,在 main() 裡面並不需要另外做修改
: 這個目標,在 C 語言裡可以經由函式指標來達到,但是 JAVA 沒有辦法這麼做
: 不知道是否有其他的解法?
剛剛在查一些關於指標的問題
意外發現這篇 順便回覆一下
Code很短 是對原PO的Sample稍作修改後的結果
應該不用詳註
使用 reflection 的方法 :
import java.lang.reflect.*;
public class test {
public static void main(String argv[]) throws Exception {
Class tmp = Class.forName("ABC");
tmp.getMethod(argv[0]).invoke(null);
}
}
class ABC {
public static void printA() {
System.out.println("這是 printA().");
}
public static void printB() {
System.out.println("這是 printB().");
}
public static void printC() {
System.out.println("這是 printC().");
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.21.156
※ 編輯: runtime 來自: 163.22.21.156 (05/18 22:06)
→
05/19 05:54, , 1F
05/19 05:54, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 8 篇):
java 近期熱門文章
3
14
PTT數位生活區 即時熱門文章