gpt4 book ai didi

java - 如何让父类返回类型 T?

转载 作者:行者123 更新时间:2023-12-02 09:21:26 24 4
gpt4 key购买 nike

这些是我正在使用的一些类

public abstract class DCDataManager<T extends DCData> {
public T getData(UUID id){
return cache.get(id);
}
...
public class ApfelPlayerDataManager extends DCPlayerDataManager<ApfelPlayerData>{
public ApfelPlayerDataManager(DrycellPlugin plugin) {
super(plugin);
this.type = ApfelPlayerData.class;
this.loadCurrentPlayers();
}
....

基于上述类,为什么我需要将 apfelPlayerDataManager.getData(p.getUniqueId()) 转换为 ApfelPlayerData?它不应该总是返回一个 ApfelPlayerData 实例吗?

ApfelPlayerDataManager apfelPlayerDataManager = new ApfelPlayerDataManager(this);
ApfelPlayerData data = apfelPlayerDataManager.getData(p.getUniqueId());

最佳答案

没关系,发现问题了。谢谢Bohemian,最后的回复让我找到了正确的方向。

基本上我上了 3 节课:

public class DCDataManager<T extends DCData>

public class DCPlayerDataManager<T> extends DCDataManager

public class ApfelPlayerDataManager extends DCPlayerDataManager<ApfelPlayerData>

问题源于第二类的定义。这有效:

public class DCDataManager<T extends DCData>

public class DCPlayerDataManager<T extends DCData> extends DCDataManager<T>

public class ApfelPlayerDataManager extends DCPlayerDataManager<ApfelPlayerData>

关于java - 如何让父类返回类型 T?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58667940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com