gpt4 book ai didi

java - 接口(interface)与具体类

转载 作者:太空狗 更新时间:2023-10-29 22:54:06 24 4
gpt4 key购买 nike

下面我有一个 Person 接口(interface)、一个实现类和一个驱动程序类,它使用名称初始化 Person 并再次输出它。使用有什么好处

Person person = new PersonImpl();

代替

PersonImpl person = new PersonImpl();

接口(interface)应该隐藏实现?这是使用接口(interface)的正确方法吗?

public class Driver {

public static void main(String [] args)
{
Person person = new PersonImpl();
person.setName("test name");
System.out.println("Name is "+person.getName());
}

}


public interface Person {

public void setName(String name);

public String getName();

}


public class PersonImpl implements Person{

private String name;

public String getName() {
return this.name;
}

public void setName(String name) {
this.name = name;
}
}

最佳答案

这就是接口(interface)的使用方式。

原因是您以后可以编写另一个实现而无需更改使用 Person 的代码。

所以现在您可以使用 PersonImpl,但稍后您可能需要 OtherTypeOfPersonImpl

您可以创建实现相同接口(interface)的新类,并且可以将新类与需要 Person 的任何其他代码一起使用。

List 接口(interface)就是一个很好的例子。

List 有多种实现方式,例如ArrayListLinkedList 等,它们各有优缺点。通过编写使用 List 的代码,您可以让每个开发人员决定哪种类型的 List 最适合他们,并且能够在不做任何更改的情况下处理其中的任何一种。

关于java - 接口(interface)与具体类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5670669/

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