实现 returns 一个 Class 的方法

Implementing a method that returns a Class

有一个接口,方法是returns一个Class,像这样。

public interface MyInterface {
    
    public Class<? extends Object> returnsSomething ();
}

我必须创建一个 class 来实现接口,就像这样。

public class MyClass implements MyInterface {
    
    public Class<? extends Object> returnsSomething () {
        
        return Object; // This is currently an error.
    }
}

MyClassreturnsSomething 的实现中的 return 行不正确。 IDE 提示“找不到符号对象”。

我需要在 returnSomething 的正文中应用什么更正才能成功编译?

Object 只是 class 的名称。

Object.classClass<Object> class 的实例,表示 Object class。参见 Class

所以你需要:

return Object.class;

您的 return 类型在您的方法中不正确。你需要明白这个 '.class' 在 Java 中用于代码反射。通常,您可以为 class 收集元数据,例如完整的 class 名称、常量列表、public 字段列表等...所以在您的示例中,您基本上是在说为使用的通配符returned 的Class 类型将是Object 或Subclass of object to be returned at Runtime。请注意,您希望 Java 确定在运行时 returned 的对象。