Declaring two classes that implement an interface to work with two type parameters
Now, we will declare a class named Smartphone that implements the previously defined Hearable interface. We can read the class declaration as "the Smartphone class implements the Hearable interface." The following lines show the code for the new class. The code file for the sample is included in the java_9_oop_chapter_11_01 folder, in the example11_01.java file.
public class Smartphone implements Hearable {
public final String modelName;
public Smartphone(String modelName) {
this.modelName = modelName;
}
@Override
public void playMusic() {
System.out.println(
String.format("%s starts playing music.",
modelName));
System.out.println(
String.format("cha-cha-cha untz untz untz",
modelName));
}
@Override
public void playMusicWithLyrics(String lyrics) {
System.out.println(
String...