请用通俗易懂的语言或文章链接进行解释。


当前回答

当子类扩展一个类时,它允许子类继承(重用)和重写在父类型中定义的代码。当类实现接口时,它允许在任何期望接口值的上下文中使用从该类创建的对象。

这里真正的问题是,当我们实现任何东西时,这仅仅意味着我们在使用这些方法。它们的值和返回类型没有任何变化的余地。

但是当我们扩展任何东西时,它就变成了类的扩展。您可以更改它,使用它,重用它,它不一定需要返回与在超类中相同的值。

其他回答

如下图所示,一个类扩展另一个类,一个接口扩展了另一个接口,但一个类实现了一个接口。

有关详细信息

extends用于从基类继承时(即扩展其功能)。

implements用于实现接口时。

这里是一个很好的开始:接口和继承。

延伸

类只扩展一个类接口扩展了一个或多个接口

工具

类实现一个或多个接口接口“不能”实现任何内容

抽象类也像类一样,具有扩展和实现

当您想要子类/接口中的父类/接口的属性时,使用extends;当您想要类中的接口的属性的时候,使用implements。

例子:

使用类扩展类父级{}类Child扩展Parent{}使用接口扩展接口父级{}接口子级扩展父级{}机具接口A{}B类实现A{}延伸和机具的组合接口A{}B类{}C类实现A,扩展B{}

类和接口都是契约。它们提供应用程序其他部分所依赖的方法和财产。

当您对本合同的实现细节不感兴趣时,可以定义一个接口。唯一需要关心的是契约(接口)是否存在。

在这种情况下,您可以让实现接口的类来关注合同如何履行的细节。只有类才能实现接口。

extends用于替换现有合同的详细信息。通过这种方式,您可以用不同的方式取代一种履行合同的方式。类可以扩展其他类,接口可以扩展其他接口。