Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用多态Java_Java_Polymorphism - Fatal编程技术网

使用多态Java

使用多态Java,java,polymorphism,Java,Polymorphism,我的目标是通过创建testInstrument.java文件打印出所有乐器都在演奏。由于某种原因,System.out.println(all[I].play())出现错误 testInstrument.java package my_instruments; public class testInstrument { public static void main(String[] args) { // TODO Auto-generated method stub

我的目标是通过创建testInstrument.java文件打印出所有乐器都在演奏。由于某种原因,
System.out.println(all[I].play())出现错误

testInstrument.java

package my_instruments;

public class testInstrument {

    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Guitar g = new Guitar();
        Flute f = new Flute();
        Piano p = new Piano();



        Instrument[] all = new Instrument[3];

        all[0] = g;
        all[1] = f;
        all[2] = p;

        for (int i=0; i<3; i++) {
            System.out.println(all[i].play());
        }


    }

}
package my_instruments;

public class Instrument {

public Instrument() {

}

public void play() {
    System.out.println("Playing instrument");
}
}
Piano.java

package my_instruments;

public class Piano extends Instrument{
public Piano() {
    super();
}

public void play() {
    System.out.println("Playing piano");
}
}
试试这个:

for (int i=0; i<3; i++) {
       all[i].play();
    }
for(inti=0;i试试这个:

for (int i=0; i<3; i++) {
       all[i].play();
    }
for(int i=0;i您的play方法()正在进行打印
System.out.println();
尝试从for循环中删除print语句

for (int i=0; i<3; i++) {
    all[i].play();
}
您的play方法()正在进行打印。
System.out.println();
尝试从for循环中删除print语句

for (int i=0; i<3; i++) {
    all[i].play();
}

有什么错误吗?
play()
方法是否存在于
Instrument
类中?它是否返回任何内容?请也发布这些类的内容。是的.play()方法存在于乐器类以及钢琴、长笛和吉他类中。一个
乐器
吉他
钢琴
长笛
之间的关系是什么?这对你来说可能是显而易见的,但没有实际的源代码,我们在这里被蒙在鼓里。我得到的错误是“PrintStream类型中的方法println(boolean)不适用于参数(void)”“有什么错误吗?
play()
方法是否存在于
Instrument
类中?它是否返回任何内容?请也发布这些类的内容。是的.play()方法存在于乐器类以及钢琴、长笛和吉他类中。一个
乐器
吉他
钢琴
长笛
之间的关系是什么?这对你来说可能是显而易见的,但没有实际的源代码,我们在这里被蒙在鼓里。我得到的错误是“PrintStream类型中的println(布尔)方法不适用于参数(void)”