How can I dynamically create a class in Java, if I only now the parent class at runtime via reflection?
// 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;
}
}
E.g. in Python you could use
MyClass = type("MyClass", (ParentClass,), {
'method': lambda self, arg: 42 * arg
})
# or even easier
class MyClass(ParentClass):
def name(self, arg):
return 42 * arg
So, is there an equivalent to Python's type(name, bases, dict)
in Java?