gpt4 book ai didi

java - 接口(interface)除了拥有正确的方法之外还有其他意义吗

转载 作者:行者123 更新时间:2023-12-02 02:48:44 27 4
gpt4 key购买 nike

假设我有这个界面:

public interface IBox
{
public void setSize(int size);
public int getSize();
public int getArea();
//...and so on
}

我有一个实现它的类:

public class Rectangle implements IBox
{
private int size;
//Methods here
}

如果我想使用 IBox 接口(interface),我实际上无法创建它的实例,方式如下:

public static void main(String args[])
{
Ibox myBox=new Ibox();
}

对吗?所以我实际上必须这样做:

public static void main(String args[])
{
Rectangle myBox=new Rectangle();
}

如果这是真的,那么接口(interface)的唯一目的就是确保实现接口(interface)的类具有接口(interface)所描述的正确方法?或者还有其他接口(interface)的用途吗?

最佳答案

接口(interface)是使代码更加灵活的一种方式。你所做的是这样的:

Ibox myBox=new Rectangle();

然后,如果您决定要使用不同类型的盒子(也许有另一个库,具有更好类型的盒子),您可以将代码切换为:

Ibox myBox=new OtherKindOfBox();

一旦你习惯了它,你就会发现这是一种很棒的(实际上是必要的)工作方式。

另一个原因是,例如,如果您想要创建一个框列表并对每个框执行一些操作,但您希望该列表包含不同类型的框。在每个盒子上您可以执行以下操作:

myBox.close()

(假设 IBox 有一个 close() 方法)即使 myBox 的实际类会根据您在迭代中所处的框而变化。

关于java - 接口(interface)除了拥有正确的方法之外还有其他意义吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57124387/

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