Java多态性

简介: Java多态性

文章目录


多态性

继承让我们从另一个类继承属性和方法。多态 使用这些方法来执行不同的任务。这允许我们以不同的方式执行单个操作。

举个例子:考虑一个名为 的超类Animal,它有一个名为 的方法animalSound()。Animals 的子类可以是 Pigs、Cats、Dogs、Birds - 而且它们也有自己的动物声音实现(猪的 oinks 和 cat meows 等):

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}
class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
}
class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}

前面我们使用extends关键字从类继承。

现在我们可以创建Pig和 Dog对象并调用它们的animalSound()方法:

class Animal {
  public void animalSound() {
    System.out.println("The animal makes a sound");
  }
}
class Pig extends Animal {
  public void animalSound() {
    System.out.println("The pig says: wee wee");
  }
}
class Dog extends Animal {
  public void animalSound() {
    System.out.println("The dog says: bow wow");
  }
}
class Main {
  public static void main(String[] args) {
    Animal myAnimal = new Animal();  // Create a Animal object
    Animal myPig = new Pig();  // Create a Pig object
    Animal myDog = new Dog();  // Create a Dog object
    myAnimal.animalSound();
    myPig.animalSound();
    myDog.animalSound();
  }
}

运行:

image.png

相关文章
|
7月前
|
设计模式 存储 Java
多态性在Java中的应用场景广泛
【4月更文挑战第7天】多态性在Java中的应用场景广泛
104 1
|
7月前
|
Java
在Java中,多态性是通过继承和接口实现的
【4月更文挑战第7天】在Java中,多态性是通过继承和接口实现的
72 1
|
Java
深入理解Java中的多态性
在Java编程中,多态性是一个非常重要的概念。它允许我们以一种灵活的方式处理不同类型的对象,并根据具体的对象类型调用相应的方法。
115 0
|
14天前
|
Java 程序员 开发者
Java 中的多态性
Java中的多态性是面向对象编程的重要特性之一,允许一个接口或基类引用指向其不同子类的对象,实现“一种接口,多种方法”。通过方法重写和动态绑定,多态性提高了代码的灵活性和可扩展性。
38 3
|
2月前
|
设计模式 算法 Java
Java中的多态性:深入理解与应用
【10月更文挑战第16天】 在Java编程的广阔天地中,多态性作为一种强大的面向对象特性,扮演着至关重要的角色。它允许我们以统一的方式处理不同类型的对象,极大地提高了程序的灵活性和可扩展性。本文将深入浅出地探讨Java中多态性的概念、实现机制以及在实际开发中的应用,帮助读者更好地理解和运用这一特性。
|
6月前
|
Java 编译器
在 Java 中,重写(Override)和重载(Overload)是两种不同的概念,用于实现多态性。它们有着不同的作用和使用场景。
在 Java 中,重写(Override)和重载(Overload)是两种不同的概念,用于实现多态性。它们有着不同的作用和使用场景。
|
7月前
|
Java 开发者
在Java中,接口和超类在多态性中扮演着重要的角色
【5月更文挑战第7天】Java中的接口和超类支持多态性,接口作为规范,允许多继承和回调机制;超类提供基类,实现代码重用和方法重写,两者共同促进代码的灵活性和可维护性。
56 10
|
7月前
|
Java
Java一分钟之-多态性:理解重写与接口
【5月更文挑战第9天】本文介绍了Java中的多态性,主要通过方法重写和接口实现。重写允许子类根据实际类型执行不同实现,关键点包括方法签名相同、访问权限不降低以及final、static和abstract方法不可重写。接口是抽象类型,包含抽象方法,提供另一种多态性实现。常见问题包括混淆重载与重写、不理解动态绑定以及滥用接口。为避免问题,需明确重写目的、合理设计接口,并在使用多态时注意类型检查。多态性是提升代码质量和灵活性的关键。
98 1
|
7月前
|
Java
Java语言中的多态性:深入解析与应用
Java语言中的多态性:深入解析与应用
126 0
|
7月前
|
Java 编译器
【JAVA学习之路 | 基础篇】面相对象特征--多态性
【JAVA学习之路 | 基础篇】面相对象特征--多态性