我尝试在运行时从匿名类创建对象,但是当我尝试调用 newInstance()
时,它会抛出一个名为 java.lang.NoSuchMethodException
的错误。
匿名类实现
public enum Delegates implements Supplier<User> {
ADMINUSER {
@Override
public User get() {
return new User(){
@Override
public String getRole() {
return "Admin";
}
};
}
}
User.Java
public class User{
public String getRole() {
return "Student";
}
}
从运行时创建实例
Delegates.ADMINUSER.get().getClass().newInstance()
抛出一个名为“error”的错误。
java.lang.NoSuchMethodException: com.users.Delegates$4$1.<init>()
at java.lang.Class.getConstructor0(Unknown Source)
... 2 more
请告诉我如何在运行时从匿名类创建实例。