天天看點

java implements是什麼意思_java – “implements”在類上做什麼?

實作意味着它采取接口指定的指定行為。考慮以下接口:

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 animalsThatTalk = new ArrayList();

animalsThatTalk.add(dog);

animalsThatTalk.add(cat);

for (ISpeak ispeak : animalsThatTalk)

{

System.out.println(ispeak.talk());

}

此循環的輸出将是:

bark!

meow!

接口提供了一種以通用方式與類互動的方法,基于他們所做的事情,而不暴露實作類是什麼。

例如,在Java中使用的最常用的接口之一是Comparable.如果您的對象實作此接口,您可以編寫一個實作,消費者可以使用該實作來排序對象。

例如:

public class Person implements Comparable

{

private String firstName;

private String lastName;

// Getters/Setters

public int compareTo(Person p)

{

return this.lastName.compareTo(p.getLastName());

}

}

現在考慮這個代碼:

// Some code in other class

List people = getPeopleList();

Collections.sort(people);

這個代碼做的是為Person類提供一個自然的順序。因為我們實作了Comparable接口,我們能夠利用Collections.sort()方法通過自然排序(在這種情況下,按姓氏排序)對Person對象清單進行排序。