Class<? extends Shape>
时间: 2024-11-09 18:29:12 浏览: 21
Java图片中显示当前时间的方法 <font color=red>原创</font>
`Class<? extends Shape>` 是Java中的类型参数,它表示一个未知的具体类型,但是这个类型必须是 `Shape` 类型的延伸(即 `Shape` 的子类)。`<?>` 是类型通配符,用于表示不确定性。当你有一个泛型方法需要处理多种可能的 `Shape` 子类对象,但并不关心具体是什么子类时,可以使用这种类型参数。例如,你可以创建一个接受所有形状类型的列表:
```java
List<Class<? extends Shape>> shapeClasses = new ArrayList<>();
shapeClasses.add(Circle.class); // 圆形
shapeClasses.add(Square.class); // 正方形
for (Class<? extends Shape> clazz : shapeClasses) {
System.out.println(clazz.getName()); // 输出 Circle 或 Square
}
```
在这个例子中,`Class<? extends Shape>` 可以存储 `Circle` 或 `Square` 等任何 `Shape` 的子类引用。
阅读全文