gpt4 book ai didi

java - "implements"在类里面做了什么?

转载 作者:IT老高 更新时间:2023-10-28 21:04:13 29 4
gpt4 key购买 nike

如果一个类实现了另一个类……那是什么意思?我找到了这个代码示例:http://www.java2s.com/Code/Php/Class/extendsandimplement.htm

但不幸的是它没有任何解释......

最佳答案

Implements 表示它采用接口(interface)指定的指定行为。考虑以下接口(interface):

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!";
}
}

CatDog 类都实现了 ISpeak 接口(interface)。

接口(interface)的优点在于我们现在可以通过ISpeak 接口(interface)引用这个类的实例。考虑以下示例:

  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());
}

这个循环的输出是:

bark!
meow!

接口(interface)提供了一种基于类所做的事情以通用方式与类交互的方法,而不会暴露实现类是什么。

例如,Java 中最常用的接口(interface)之一是 Comparable .如果你的对象实现了这个接口(interface),你可以编写一个实现,消费者可以使用它来对你的对象进行排序。

例如:

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 code in other class

List<Person> people = getPeopleList();

Collections.sort(people);

这段代码所做的是为 Person 类提供自然排序。因为我们实现了 Comparable 接口(interface),我们能够利用 Collections.sort() 方法对 Person< 的 List 进行排序 对象按其自然顺序排列,在本例中,按姓氏排列。

关于java - "implements"在类里面做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4558111/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com