Java 打印出对象数组

Java 打印出对象数组,java,object,pseudocode,Java,Object,Pseudocode,我有一个简短的问题 我有飞行课、水上课和动物课 如果我只想打印动物对象数组中的飞行对象 这样做安全吗 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 或 执行此操作并重写toString方法 我是java新手,所以我甚至不确定这两种说法是否正确。

我有一个简短的问题

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

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

这样做安全吗

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

执行此操作并重写toString方法

我是java新手,所以我甚至不确定这两种说法是否正确。因此,欢迎任何形式的帮助

谢谢你的帮助

编辑-


并重写toString方法以在类以及示例类中打印toString这不是java代码。但考虑到问题的逻辑,第一种选择看起来更好


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

您好,您的第二种方法是正确的,下面是java代码,您需要实现父类(动物)或子类(飞行)中的字符串


这个问题可能有误。给定的代码与我在回答中解释的有效Java不太接近,不存在'A.toString()`。你为什么要问自己是否能做某件事,而不是只是尝试一下,然后自己发现自己做不到?
FOR i=0 TO num CHANGEBY 1 DO
    IF Animal[i] INSTANCEOF Flying THEN
        str = Animal.toString
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);

}
 output = example.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 {
}