在Java中,多态性是指允许不同类的对象对同一消息做出响应的能力,即同一个方法,不同类的对象可以产生不同的行为。
实验一:乐器类
1、定义一个乐器类MusicalInstrument,包含一个play方法
2、定义一个钢琴类Piano,重写父类的play方法
3、定义一个吉他类Guitar,重写父类的play方法
4、定义一个手风琴类Wind,重写父类的play方法
5、创建一个乐团类,包含一个playMusic方法能接收不同类型的乐器,并进行演奏
6、编写测试类演示多态
package s;
public class MusicalInstrument {
public void play() {
System.out.println("Play");
}
}
class Piano extends MusicalInstrument {
public void play() {
System.out.println("Piano:play");
}
}
class Guitar extends MusicalInstrument {
public void play() {
System.out.println("Guitar:play");
}
}
class Wind extends MusicalInstrument {
public void play() {
System.out.println("Wind:play");
}
}
//创建一个乐团类,包含一个playMusic方法能接收不同类型的乐器,并进行演奏
class Orchestra {
public void playMusic(MusicalInstrument instrument) {
instrument.play();
}
}
class Test {
public static void main(String[] args) {
MusicalInstrument instrument1 = new Piano();
MusicalInstrument instrument2 = new Guitar();
MusicalInstrument instrument3 = new Wind();
Orchestra orchestra = new Orchestra();
orchestra.playMusic(instrument1);
orchestra.playMusic(instrument2);
orchestra.playMusic(instrument3);
}
}