私が最初に私の状況を述べてみましょう:JAVA:ジェネリック型クラスの継承とジェネリック型の継承
私がきた、サードパーティSDK、ジェネリック型を持つ基底クラスに:私の中
public abstract class BaseClass<T extends BaseDataType> {
public abstract class BaseDataType {xxx}
public abstract int getCount();
public abstract someMethod(T t);
}
次のような事業環境、それがBaseClass
を拡張:
実際のビジネスでは、私は私のクラスを記述します。
public class MyClass extends MyGeneralBaseClass<MyDataType> {
@Override public someMethod(MyDataType type) {xxx}
}
public class MyDataType extends BaseClass.BaseDataType {
xxx
}
ただし、コードをコンパイルできませんでした。申し訳ありません、旅をしていますが、IDEと開発ツールがないため、エラーを貼り付けることはできません。しかし、IntelliJ IdeaのようなIDEでこれを書き留めれば、私は遭遇しているエラーを引き起こすと思います。
このように、ジェネリック型の継承と、ジェネリック型を使用したクラスの継承。
私が望むものは、MyClass
では、抽象的なBaseDataType
の代わりに具体的なクラスMyDataType
を使用しています。
を
BaseDataType
クラスを拡張することで、これは私が欲しいものを正確にです。あなたは私に詳細を説明する好意を持っていますか?わかりやすい記事URLを提供することができます。多くのthx –@McArthorLee 'class MyClass extends MyGeneralBaseClass' 'MyGeneralBaseClas'に' BaseDataType'を拡張するジェネリック型パラメータを持たせたいと思っていました。したがって、 'MyGeneralBaseClas 'です。 'BaseClass'は' BaseDataType'を拡張する型パラメータを必要とするので、 'class MyGeneralBaseClas extends BaseClass ' –
Eran
が得られます。あなたの説明は私のビジネス環境です。いくつかの一般的なJAVA説明を与えることができますか? thx –