gpt4 book ai didi

java - Java中有没有动态实现接口(interface)的方法?

转载 作者:行者123 更新时间:2023-12-01 17:25:16 24 4
gpt4 key购买 nike

我正在开发一个 Minecraft mod,它允许使用 Lua 创建 mod。我希望用户能够使用他们想要的界面创建 TileEntities。目前我正在使用一个 Base TE 来调用已注册 Lua 文件的函数,但这不允许他们创建 list 和外围设备。

最佳答案

是的。可以通过ClassLoader.html#loadClass(...)加载界面并使用Proxy#newProxyInstance(...)来实现它

示例:

ClassLoader cl = getClass().getClassLoader();
Class<?> desiredInterface = cl.loadClass("SomeInterface");
Object proxy = Proxy.newProxyInstance(
cl,
new Class<?>[]{desiredInterface},
new InvocationHandler() {
@Override
Object invoke(Object proxy, Method method, Object[] args) {
//call Lua with method name and args, return answer
}
});

关于java - Java中有没有动态实现接口(interface)的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15448699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com