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 {
}