当前位置: 首页 > 知识库问答 >
问题:

打印出一个对象数组

壤驷英叡
2023-03-14

我有一个简短的问题

我有飞行、水上课程和动物课程

如果我只想打印出动物对象数组中的飞行物体

做这样的事安全吗

IF choice is Flying
FOR i=0 TO num CHANGEBY 1 DO
    IF Animal[i] INSTANCEOF Flying THEN
        str = Flying.toString

    END IF
END FOR
OUTPUT str

FOR i=0 TO num CHANGEBY 1 DO
    IF Animal[i] INSTANCEOF Flying THEN
        str = Animal.toString

执行此操作并重写toString方法

我是java新手,所以我甚至不确定这两个是否正确。所以欢迎任何帮助

谢谢你的帮助

编辑-

public static void display(ExampleA[] example)
{ 
    for(int pos = 0; pos < example.length; pos++) 
    {   
        if(example instanceof A)
        {

            output = A.toString()            
        }


    }

    System.out.println(output);

}

对不起,模棱两可的问题这是我问题的一个例子

我可以做输出 = A.toString() 来获取对象字符串还是我必须做

 output = example.toString()  

并重写toString方法以打印出类和示例类中的toString

共有2个答案

曹理
2023-03-14

这不是java代码。但考虑到问题的逻辑,第一个选项看起来更好。

如果您有一个动物对象数组,其中一些引用飞行,一些引用水生,那么如果您想从动物引用中调用飞行/水生方法,您应该始终在If条件中执行instanceOf检查,然后基于动物实例引用的子对象,调用子类方法。

谈萧迟
2023-03-14

嗨,您的第二种方法是正确的,这里是用于此的java代码,您需要在Parent(Animal)或Child(Flying)类中实现toString。

public class Application {

    public static void main(String[] args) {
        Animal arr[] = new Animal[]{new Flying(), new Aquatic(), new Aquatic()};
        for (Animal a : arr) {
            if (a instanceof Flying) {
                System.out.println(a);
            }
        }
    }
}

class Animal {
}

class Flying extends Animal {
    @Override
    public String toString() {
        return "Flying::toString";
    }
}


class Aquatic extends Animal {
}
 类似资料:
  • 使用 Photoshop,您可以打印任何兼容的 3D 模型,而无需担心 3D 打印机的限制。在准备打印时,Photoshop 会自动使 3D 模型防水。Photoshop 还会生成必要的支撑结构(支架和底座),以确保您的 3D 打印能够成功完成。 准备打印 3D 对象 选择“窗口”>“工作区”>“3D”以切换到 3D 工作区。 在 Photoshop 中打开 3D 模型。如果需要,请在打开 3D

  • 我的数组正在加载,并且正在按计划(按照它们在文件中出现的顺序)将卡打印出来。当我尝试在单独的方法中循环遍历arraylist以检查数据是否存在时,它只打印最后一个对象而不是每个对象。有人能告诉我为什么吗? 加载法 和getAll()方法 运行时,它只打印出.txt文件中的最后一张牌“KS”(黑桃之王)。有人能告诉我为什么会这样吗? 谢谢 }

  • 问题内容: 我需要能够在数组列表中打印出Student对象(所有变量)。这可能吗?当我尝试打印时,它会输出此类内容。我认为是这样 这是我的代码: 问题答案: 类中的重写方法如下:

  • 问题内容: 我从mysql数据库获取ID和类别名称。 当我警告结果时,我得到: (这是对象吗?) 我如何打印这样的结果: 丹斯基 M \ u0119skie M \ u0119ski-编码错误。应该是 Męskie 。我该如何更改? 问题答案:

  • 如何从事件处理程序中的对象打印多个键? 这里是链接到我的代码-https://codesandbox.io/s/suspicious-hamilton-erkqv 在第35行,我用对象“x”调用事件处理程序ChangeName。我可以打印一个名为“name”(x.name)的键。我如何打印x对象的所有3个道具(名称、id、类型)?? 尝试将x转换为object.keys(x)的数组,但当我循环通过

  • 我无法打印我的数组列表对象。 下面是我的第一个返回arraylist对象的类: } 物品是:约翰 物品是:乔 但当我检索到另一个类时,它不起作用。 下面是我的第二个类来检索数组列表对象并显示它: 运行这个之后,它会打印出来:什么都没有 如果我像这样打印 System.out.println("NAME"arr.toString()); 它给了我名字:[]; 有人能解释为什么它不起作用吗(在第二节课