Java 接口多态性示例:Playable 接口与乐器类
下面是根据你的要求创建的 Playable 接口、Guitar 类、Piano 类和 Musician 类的代码示例:
// Playable 接口
interface Playable {
void play();
}
// Guitar 类实现 Playable 接口
class Guitar implements Playable {
@Override
public void play() {
System.out.println('Playing guitar...');
}
}
// Piano 类实现 Playable 接口
class Piano implements Playable {
@Override
public void play() {
System.out.println('Playing piano...');
}
}
// Musician 类接受 Playable 对象作为参数,并调用 play() 方法
class Musician {
void playInstrument(Playable playable) {
playable.play();
}
}
public class Main {
public static void main(String[] args) {
Musician musician = new Musician();
Playable guitar = new Guitar();
musician.playInstrument(guitar); // 调用 play() 方法,输出 'Playing guitar...'
Playable piano = new Piano();
musician.playInstrument(piano); // 调用 play() 方法,输出 'Playing piano...'
}
}
在上面的代码中,我们创建了 Playable 接口,并让 Guitar 类和 Piano 类实现了该接口。接着,我们创建了 Musician 类,该类接受一个 Playable 对象作为参数,并调用其 play() 方法。
在主方法中,我们创建了一个 Musician 对象,并演示了接口的多态性。我们创建了一个 Guitar 对象和一个 Piano 对象,并将它们作为参数传递给 Musician 对象的 playInstrument() 方法。无论传递的是哪种乐器对象,Musician 都可以调用 play() 方法,实现了接口的多态性。输出结果会根据不同的乐器对象而有所不同。
原文地址: http://www.cveoy.top/t/topic/cbyL 著作权归作者所有。请勿转载和采集!