簡體   English   中英

Java中有沒有辦法從控制台調用方法?

[英]Is there a way in Java to call methods from the console?

Java中有沒有辦法從控制台調用方法?

我知道可以使用args數組(例如args[0] )來獲取輸入文件的名稱,但我不知道Java是否允許來自控制台的方法調用。

好吧,您可以使用反射並將您想要調用的方法的名稱作為程序的參數之一傳遞,然后使用它反射性地調用它。

根據您真正想要做的事情,您可能會考慮像BeanShell這樣的東西,它可以讓您以更簡單的方式從Beanshell控制台與Java交互,前提是您的問題是“如何從控制台使用Java?” 而不是如何以編程方式執行此操作。

例如,從Beanshell控制台我可以做如下的事情:

print(eval("Math.max(1,2)"));

它會讓我的控制台產生2。

您還可以將beanshell.jar添加到應用程序類路徑中,並以編程方式使用eval方法。

import bsh.Interpreter;
//...
Interpreter i = new Interpreter();  
Integer r = (Integer) i.eval("Math.max(1,2)");

您只是想從命令行觸發方法的執行,還是在后台運行其他東西?

如果還有其他內容,那么您需要考慮線程,否則您的應用程序將被阻止在命令行上等待IO。

根據要調用的方法數量以及要實現的動態程度...可以使用反射(它將類名和方法名稱作為參數並執行它們)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM