gpt4 book ai didi

java - 如何识别数组接口(interface)中的实例?

转载 作者:行者123 更新时间:2023-12-01 18:40:05 25 4
gpt4 key购买 nike

我有一个名为“Shape”的接口(interface)和两个实现它的类(Circle、Square)。我还有一个 Shape 数组 (Shape Shapes=new Shape[20])。

我如何知道特定单元格中是哪种形状(圆形方形)(哪个形状位于 shapes[0]shapes[1] 等中...)?

最佳答案

正如@jwa所提到的,您可以使用instanceof来检查类型。根据形状的实际类型以不同方式处理形状的经典解决方案是访问者模式:

interface Shape {
accept(ShapeProcessor processor);
}

class Circle implements Shape {
accept(ShapeProcessor processor) {
processor.visit(this);
}
}

class Squere implements Shape {
accept(ShapeProcessor processor) {
processor.visit(this);
}
}

interface ShapeProcessor {
visit(Circle circle);
visit(Squere squere);
}

关于java - 如何识别数组接口(interface)中的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20290436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com