Java多态性示例
时间:2020-02-23 14:37:13 来源:igfitidea点击:
这个例子演示了多态性在Java编程语言中的用法
什么是多态性
多态性一词来自希腊语,意思是“多种形式”。Java中的多态性允许类的子类定义它们自己的独特行为,同时共享父类的一些相同功能。我将从继承的角度讨论多态性,其中多个方法(所有方法都具有相同的名称)具有稍微不同的功能。这种技术也称为方法重写。
多态性是面向对象编程(OOP)背后的四个主要概念之一。OOP问题在求职面试中很常见,所以我们可能会在下一次Java面试中遇到关于多态性的问题。
Java多态性示例
在这个例子中,我们将创建3个类来演示多态性,并创建一个类来测试概念。我们的超类叫做
Animal
. 动物阶级的继承人是
Dog
和
Cat
类。那些也是动物,对吧?这就是多态性的含义——同一对象有多种形式,但行为略有不同。为了证明这一点,我们将使用一个名为
makeSound()
并在后续类中重写此方法的输出。
pharmacy类使用drug和product类的对象,例如,Cialis generic。
Java多态性示例
当我们调用makeSound()方法时,泛化动物类将输出一些抽象文本:
package net.theitroad; public class Animal { public void makeSound() { System.out.println("the animal makes sounds"); } }
这个
Dog
类,扩展
Animal
会产生稍微不同的结果-狗会吠叫。为此,我们扩展
Animal
类并重写
makeSound()
方法
package net.theitroad; public class Dog extends Animal{ @Override public void makeSound() { System.out.println("the dog barks"); } }
显然,我们必须对我们的
Cat
让cat 喵喵叫。
package net.theitroad; public class Cat extends Animal { @Override public void makeSound() { System.out.println("the cat meows"); } }
最后让我们来测试我们的创造。
package net.theitroad; public class PolymorphismExample { public static void main(String[] args) { Animal animal = new Animal(); animal.makeSound(); Dog dog = new Dog(); dog.makeSound(); animal = new Cat(); animal.makeSound(); } }
首先我们创建一个将军
Animal
对象并调用
makeSound()
方法。我们对新创建的
Dog
对象。现在请注意
animal = new Cat()
–我们分配一个新的
Cat
反对
Animal
对象。cat 是动物,记得吗?所以,我们可以一直这样做:
Animal animal = new Cat();
通过调用
makeSound()
方法将实际调用重写的
makeSound()
方法
Cat
类。
最后,这是程序的输出
the animal makes sounds the dog barks the cat meows