public class UpdateDetails<REQ extends ReferenceRequest> extends ExecuteStep<Context, REQ> {
}
语法对我来说很奇怪。我甚至不确定什么是exactlty REQ。我在课堂上的其他地方没有看到使用过。
REQ
是一个泛型类型参数。
它不必在UpdateDetails
类中使用。它被传递给可能使用它的ExecuteStep
超类
假设SomeReferenceRequest
是一个实现或扩展ReferenceRequest
的类。
你可以用实例化你的类
UpdateDetails<SomeReferenceRequest> details = new UpdateDetails<> ();
超类ExecuteStep
可能具有返回REQ
或具有REQ
参数[s]的方法,也可能具有类型为REQ
的实例变量。
UpdateDetails:类的名称REQ:UpdateDetails将处理的类的通用名称。与编写ArrayList时类似,您将构建UpdateDetails。某个类将需要扩展类ReferenceRequest。
ReferenceRequest:UpdateDetails可以使用任何扩展ReferenceRequest的对象。
ExecuteStep:UpdateDetails将需要扩展类ExecuteStep,该类将处理两个对象,Context和REQ。
你可以在这里了解更多关于泛型的信息:https://docs.oracle.com/javase/tutorial/java/generics/