实现是指它采取接口指定的指定 行为 。考虑以下接口:
public interface ISpeak{ public String talk();}public class Dog implements ISpeak{ public String talk() { return "bark!"; }}public class Cat implements ISpeak{ public String talk() { return "meow!"; }}无论是
Cat和
Dog类实现的
ISpeak接口。
接口的优点在于,我们现在可以通过
ISpeak接口引用此类的实例。考虑以下示例:
Dog dog = new Dog(); Cat cat = new Cat(); List<ISpeak> animalsThatTalk = new ArrayList<ISpeak>(); animalsThatTalk.add(dog); animalsThatTalk.add(cat); for (ISpeak ispeak : animalsThatTalk) { System.out.println(ispeak.talk()); }该循环的输出为:
吠!
喵!
接口提供基于他们的东西一个通用的方法与类交互的手段 做 不暴露的实现类是什么。
例如,在Java中使用的最常见的接口之一是
Comparable。如果您的对象实现此接口,则可以编写一个实现,供消费者用来对您的对象进行排序。
例如:
public class Person implements Comparable<Person>{ private String firstName; private String lastName; // Getters/Setters public int compareTo(Person p) { return this.lastName.compareTo(p.getLastName()); }}现在考虑以下代码:
// Some pre in other classList<Person> people = getPeopleList();Collections.sort(people);
该代码的作用是为
Person该类提供自然的排序。因为我们实现了
Comparable接口,所以我们能够利用该
Collections.sort()方法按照对象的自然顺序(在本例中为姓)
List对
Person对象进行排序。



