我如何在Java中动态创建一个类,如果我现在只有父类在运行时通过反射?在Java中是否有与Python的`type(name,bases,dict)`类似的东西?
// I only know what ParentClass is at runtime
// but I know that ParentClass implements SomeInterface.
public class MyClass extends ParentClass implements SomeInterface {
// I know the method I want to override,
// and that ParentClass has a no-argument constructor.
@Override
public int method(int arg) {
return 42 * arg;
}
}
例如,在Python中你可以使用
MyClass = type("MyClass", (ParentClass,), {
'method': lambda self, arg: 42 * arg
})
# or even easier
class MyClass(ParentClass):
def name(self, arg):
return 42 * arg
那么,有没有一个相当于Python的type(name, bases, dict)
在Java中?
为什么你需要在运行时做到这一点?看看'Proxy'。 – 2014-11-04 05:13:01