在 Java 中扩展与实现
    
    Rupam Yadav
    2023年10月12日
    
    Java
    
 
为了在 Java 中重用给定父类的属性和行为,我们使用继承的概念,它是面向对象编程语言的重要组成部分。这背后的想法是代码可重用性。implements 和 extends 关键字都用于在 Java 中创建一个具有父类属性的新类。
我们可以使用下表更好地理解 extends 和 implements 关键字。
| 定义 | 执行 | 类 | 界面 | 方法 | |
|---|---|---|---|---|---|
| extends | 当子类(子类) extends基类(父类)时,它允许子类继承基类中定义的代码。 | 一个类可以继承另一个类。一个接口可以使用关键字 extends继承另一个接口。 | 一个类只能扩展一个类。 | 一个接口可以扩展任意数量的接口。 | 子类扩展父类可能会或可能不会覆盖基类中的所有方法。 | 
| implements | implements关键字用于实现接口。接口包含抽象方法。方法体在实现它的类中定义。 | 使用 implements关键字,一个类可以实现一个接口。 | 一个类可以实现多个接口。 | 一个接口永远不能实现任何其他接口。 | 实现接口的类必须实现接口中的所有方法。 | 
在 Java 中使用 extends 关键字继承类
在下面的代码中,我们有一个 Parent,它是基类,而 Child 作为子类。Child 类扩展了 Parent 类,这意味着 Child 类现在可以访问 Parent 类中定义的字段和方法。
在我们的 Test 类中,我们创建了一个子类 child 的对象,并在其上调用方法 displayNumber()。方法 displayString(),在父类中定义,可以通过在同一个 child 对象上调用它来执行。因此,它实现了代码可重用性的目的。
public class Test {
  public static void main(String args[]) {
    Child child = new Child();
    System.out.println("Calling Child class method : " + child.displayNumber());
    System.out.println("Calling Parent class method from child : " + child.displayString());
  }
}
class Parent {
  String str = "Hello there!";
  public String displayString() {
    return str;
  }
}
class Child extends Parent {
  int number = 25;
  public int displayNumber() {
    return number;
  }
}
输出:
Calling Child class method : 25
Calling Parent class method from child : Hello there!
在 Java 中使用 implements 关键字继承接口
我们有两个接口,Cat 和 Dog,在下面的代码中,每个接口都包含一个抽象方法。类 Animals 实现了两个接口,因此它必须实现接口中定义的方法。
因此,Animals 类实现了两个接口并定义了它们的行为,这就是 Java 中接口的全部目的。
interface Cat {
  public void meow();
}
interface Dog {
  public void bark();
}
class Animals implements Dog, Cat {
  @Override
  public void meow() {
    System.out.println("Cat meows");
  }
  @Override
  public void bark() {
    System.out.println("Dog barks");
  }
}
public class Test1 {
  public static void main(String args[]) {
    Animals animals = new Animals();
    animals.bark();
    animals.meow();
  }
}
输出:
Dog barks
Cat meows
        Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
    
作者: Rupam Yadav
    Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn