JAVA多态
Posted 自学开发的老司机
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA多态相关的知识,希望对你有一定的参考价值。
一、多态概念
所谓多态,是指一个引用(类型)在不同情况下的多种状态。
也可以这样理解,多态是通过指向父类的指针,来调用在不同子类中实现的方法。
多态通过“继承”和“接口”两种现象构成。
示例:
以下示例中,子类Cat和Dot继承了父类Animal的属性,重写了父类的方法。
在创建子类对象时,可以直接使用父类引用,来创建子类的对象。
附值=左侧的引用变量一样,对象类型由右侧实例决定。
这样,就可以用一个父类引用来创建N个子类实例,方便开发。
package javastudy; public class Demo1 { public static void main(String[] args) { // TODO Auto-generated method stub /*以下非多态 Cat cat1=new Cat(); //创建子类Cat的对象 cat1.cry(); Dog dog1=new Dog(); //创建子类Dog的对象 dog1.cry(); */ //以下为多态 Animal c=new Cat(); //直接用父类创建子类对象。通过父类调用子类的方法。 c.cry(); //通过父类调用子类的方法。 c=new Dog(); c.cry(); } } class Animal{ String name; int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void cry() { System.out.println("不知道怎么叫"); } } //子类 class Dog extends Animal{ //狗叫 public void cry(){ System.out.println("汪汪叫"); //方法重写。 } } class Cat extends Animal{ //猫叫 public void cry(){ System.out.println("喵喵叫"); //方法重写。 } }
输出:
喵喵叫
汪汪叫
以上是关于JAVA多态的主要内容,如果未能解决你的问题,请参考以下文章