实施VS扩展
工具和扩展是Java编程语言中发现的两个关键字,它们提供了将添加功能传输到新类的方法。实现关键字明确用于实现接口,而扩展关键字用于从(超级)类继承。请注意,在其他大多数面向对象的编程语言(例如c#and vb.net)中,继承和接口的概念都存在,但是它们为应用这些概念提供了不同的语法或关键字。本文仅着眼于工具并扩展Java中定义的关键字。
扩展
扩展关键字用于以Java编程语言实现继承概念。继承本质上可以通过允许通过新定义的类扩展现有类的属性和行为来提供代码重复使用。当新的子类(或派生类)扩展了一个超级类(或父类),该子类将继承超级类的所有属性和方法。子类可以选择覆盖从父类继承的行为(向方法提供新的或扩展功能)。子类不能在Java中扩展多个超级类。因此,您不能将扩展用于多个继承。为了拥有多个继承,您需要使用以下说明的接口。
工具
在Java编程语言中实现关键字用于通过类实现接口。Java中的接口是一种抽象类型,用于指定应由类实现该接口的类实现的合同。通常,接口仅包含方法签名和恒定声明。实现特定接口的任何接口都应实现接口中定义的所有方法,或者应将其声明为抽象类。在Java中,可以将对象引用的类型定义为接口类型。但是该对象必须为null或应容纳类的对象,该对象实现了该特定接口。使用Java中的“ insterments关键字”,您可以对单个类实现多个接口。接口无法实现另一个接口。但是,接口可以扩展类。
工具和扩展之间的差异
虽然,工具和扩展是两个关键字,它们为Java编程语言的类提供了一种属性和行为的机制,但它们用于两个不同的目的。实施关键字用于类实现特定接口,而扩展关键字用于从超级类延伸的子类。当类实现接口时,该类需要实现接口中定义的所有方法,但是当子类扩展超级类时,它可能会或可能不会覆盖父类中包含的方法。最后,工具和扩展之间的另一个关键区别是,类可以实现多个接口,但它只能从Java中的一个超级类扩展。通常,与扩展(继承)的使用相比,使用工具(接口)被认为更有利,这是由于较高的灵活性和最小化耦合的能力等几个原因。因此,实际上,与从基础类延伸相比,对接口的编程优先。
AMC说
多么伟大的解释!非常感谢您分享此类知识。