次のように宣言された CAR というオブジェクトがあります。
public class Car{
public int NumberOfWheels;
}
別のクラスを使用して、そのサブクラスを 3 つ取得できます。
次のように:
public TruckA getCarA(int param){
return new TruckA () {NumberOfWheels = param}
}
public TruckB getCarB(int param){
return new TruckB () {NumberOfWheels = param}
}
public TruckC getCarC(int param){
return new TruckC () {NumberOfWheels = param}
}
ジェネリックを使用して書き込むにはどうすればよいですか?
(単純すぎることはわかっています。より複雑なケースの例が必要です)
新しい(T)を作成し、パラメータを入力して返すメソッドを作成したいと考えています。
何かのようなもの
public TruckC getCarC(int param){
return getTruck<TruckC>(param)
}
それだけ:
1. TruckA/B/C にはコンストラクターがありません。
2. Car にはコンストラクターがありません。{} を使用して初期化されます。
3. メソッドは、初期化 ( {} ) を使用できるように、Car から派生したクラスのみを受け取る必要があります。
(Javaジェネリックの ?? extends ? に相当するもの)
ありがとう。