有人能理解这种Java语法的作用吗?在什么情况下会有人使用它


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/

相关内容

最新更新