首页 > 代码库 > JAVA多态
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多态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。