使用多态Java
我的目标是通过创建testInstrument.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
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)”