标签:开发 理解 generate ima 使用 子类 getname 继承 pack
一、多态概念
所谓多态,是指一个引用(类型)在不同情况下的多种状态。
也可以这样理解,多态是通过指向父类的指针,来调用在不同子类中实现的方法。
多态通过“继承”和“接口”两种现象构成。
示例:
以下示例中,子类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("喵喵叫"); //方法重写。 } }
输出:
喵喵叫
汪汪叫
标签:开发 理解 generate ima 使用 子类 getname 继承 pack
原文地址:http://www.cnblogs.com/ibelieve618/p/6409084.html