在我的学习书中,有这个例子:
import java.util.*;
public class RentalGeneric<T> {
private List<T> rentalPool;
private int maxNum;
public RentalGeneric(int maxNum, List<T> rentalPool) {
this.maxNum = maxNum;
this.rentalPool = rentalPool;
}
public T getRental() {
return rentalPool.get(0);
}
public void returnRental(T returnedThing) {
rentalPool.add(returnedThing);
}
}
Run Code Online (Sandbox Code Playgroud)
我发现编译很奇怪,因为没有定义Class<T>
.关于这个的故事是什么?它在我的书中说的T
是类型参数,但我怎么知道何时使用它?
你可以用它来租汽车、自行车……你可以直接使用它,如下所示:
RentalGeneric<Car> carRental = new RentalGeneric<Car>(10, aList);
Run Code Online (Sandbox Code Playgroud)
然后当你这样做时,getRental
它会返回一个Car
对象。然后你就可以放回Car
一个returnRental(aCar);
或者您可以创建一个CarRental
扩展的类RentalGeneric<Car>
。
对于您想租用的任何物品也是如此。