下面是根据你的要求创建的 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() 方法,实现了接口的多态性。输出结果会根据不同的乐器对象而有所不同。

Java 接口多态性示例:Playable 接口与乐器类

原文地址: http://www.cveoy.top/t/topic/cbyL 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录