Java - 在不指定类型的情况下扩展泛型类

时间:2016-06-22 13:04:00

标签: java generics java-8

老实说,我不得不提出这个问题,但我觉得有些不对劲,我找不到答案。 在项目中,有类扩展通用超类而不指定类型。例如:

public abstract class Vehicle<T> {}

public class Car extends Vehicle {}
public class Van extends Vehicle {}

我很确定Java 7曾经发出编译错误,但我正在研究的项目是使用Java 8。 这是一个新功能吗?编译器如何知道实际类型是什么?

1 个答案:

答案 0 :(得分:2)

在Java版本中都没有任何编译器错误,但是警告。

您的CarVan类基本上扩展了原始Vehicle

  

车辆是原始类型。通用类型车辆的参考应参数化

这相当于extends Vehicle<Object>