如果我让你觉得这只是一个简单的Stack Overflow问题,或者听起来太简单了,我表示歉意。我一整天都被困在这个问题上,尝试了所有可用的资源(谷歌、Stack Overflow、朋友和Oracle Java书籍),但都没有任何帮助。
所以,我被要求处理以下代码部分。
import org.Plugin
public interface Product<T extends Data>{
void Customer(Plugin<T> plugin);
}
我已经成功分解了这段代码的基本功能,关于Product类,我知道:
- T extends Data:T是T的子类的边界类型参数
- 我需要建立一个实现Product类和Customer方法的类。
到目前为止,我得出了以下结论:
class TheProduct implements Product{
@Override
public void Customer(Plugin plugin){
}
}
我困惑的是Consumer方法中的(Plugin<T> plugin)
部分是什么意思。这里的Plugin是指变量参数吗?如果是,我需要在TheProduct类中包含它吗?
我感觉自己可能错过了重要的东西,但不知道是什么。
感谢大家抽出时间阅读 :)
Customer
改为小写:customer
。 - Stephan Hogenboomclass TheProduct implements Product<SomeDataSubclass>
。 - 4castleT
在两个地方都被指定,如果您实现了Product<SomeDataSubclass>
,那么plugin
的类型必须是Plugin<SomeDataSubclass>
。 - Joe Clayclass TheProduct<T> implements Product<T>
),要么你想提供一个类型参数(比如class TheSugarProduct implements Product<SugarData>
)。在继续之前,你需要决定它是哪种情况。 - Dawood ibn Kareem