我有一个Foo
只有一个静态方法(值得注意)的类,称为bar()
. 我需要bar()
通过运行时脚本(在本例中为 Javascript)进行访问。
final ScriptEngineManager factory;
factory = new ScriptEngineManager();
factory.put("foo", new Foo());
以上有效,但对我来说似乎有点奇怪。具体来说,我不想创建一个新的 Foo。Foo
是公共的,所以必须有一种方法让脚本工厂知道它,而无需实例化新对象。我已经尝试过factory.put("foo", Foo.class);
,但没有奏效。我还尝试在 Javascript 代码中指定包,例如。
package.Foo.bar();
但这也没有用。
问:有没有办法从嵌入式脚本访问类的静态方法,而无需将该类的实例绑定到引擎?