Say we have a collection of animal classes, with each class represents a kind of animal. They all share a common ability of “speak”. Dog speak in the way of “Woof! Woof!”, cats speak in the way of “Meow! Meow!”, etc. In order to capture this common characteristic, we need an interface named Speakable:
public interface Speakable
{
// put the method header here
}
Think about what method is needed for the Speakable interface? (what method can describe the speakable feature? )
We simply need one method speak() to print out the way that the animal “speaks”. Put the method header in the interface body. This method does not take any parameter and does not return any value.
Be reminded that you only need to put the method header with a semicolon (abstract method) into the interface.
BE NOTED: Adding an interface is different from adding a class. You need to click File tab -> New -> Interface, to add an interface file to the project.
Now download Dog.java. Have them implement the Speakable interface by:
- Modifying the header of each class to implement the interface.
Dog.Java
public class Dog
{
private String name;
public Dog(String name, int age)
{
this.name = name;
}
public String toString()
{
return "Dog: " + name;
}
}
Implementing the speak() method in each class. Take the Dog class for example:
public void speak()
{
System.out.println("Woof! Woof!");
}
Write a testing class to create a Dog object. Invoke the speak method by each object and check the output. Watch how your dog and cat can both speak