父类引用指向子类对象,多态
2016-08-31 20:30
267 查看
多态:
父类引用指向子类对象,即创建一个子类对象让父类进行接收,生成的对象可以调用父类的方法,但是当子类中存在与父类相同的方法时发生覆盖现象;如果想要调用子类特有的方法时需要向下转型,即将父类强制转化为子类然后对子类方法进行调用。
父类引用指向子类对象,即创建一个子类对象让父类进行接收,生成的对象可以调用父类的方法,但是当子类中存在与父类相同的方法时发生覆盖现象;如果想要调用子类特有的方法时需要向下转型,即将父类强制转化为子类然后对子类方法进行调用。
class Animal{ private String name; private String sounds; public Animal(){ this.name="animal"; this.sounds="+++++"; } public Animal(String name,String sounds){ this.name=name; this.sounds=sounds; } public String getName() { return name; } public String getSounds() { return sounds; } public void Sound(){ System.out.println("Animal Sound"+","+name+","+sounds); } } class Dog extends Animal{ public Dog(){ super("xiaogou","wangwang"); } public void Kanjia(){ System.out.println("Dog Kanjia"+","+getName()+"," +getSounds()); } } class Cat extends Animal{ public Cat(){ super("xiaomao","miaomiao"); } public void Sound(){ System.out.println("Cat Sound"+","+getName()+"," +getSounds()); } } public class MainDemo { public static void main(String[] args) { // TODO Auto-generated method stub Animal a=new Animal(); System.out.println("Animal:"); a.Sound(); Animal d=new Dog(); System.out.println("Dog:"); d.Sound(); Dog dd=(Dog)d; dd.Kanjia(); Animal c=new Cat(); System.out.println("Cat:"); c.Sound(); } }
Animal: Animal Sound,animal,+++++ Dog: Animal Sound,xiaogou,wangwang Dog Kanjia,xiaogou,wangwang Cat: Cat Sound,xiaomao,miaomiao
相关文章推荐
- java多态,如何理解父类引用指向子类对象
- 理解多态AND理解父类引用指向子类对象
- java基础整理——父类引用指向子类对象实体的多态
- 多态中父类引用指向子类对象的一些问题的个人看法
- JAVA基础 之 父类引用指向子类对象(多态)
- 黑马程序员-Java_另类理解多态AND理解父类引用指向子类对象的方式
- C#多态;父类引用指向子类对象;new和override的区别;new、abstract、virtual、override,sealed关键字区别和使用代码示例;c#类的初始化顺序
- 多态的三个条件: 1、要有继承 2、要有重写 3、父类引用指向子类对象----java
- java学习笔记:java的多态,子类和父类的相互转换,父类引用指向子类的对象
- java多态,如何理解父类引用指向子类对象
- 多态的理解(父类引用指向子类对象)
- java多态,如何理解父类引用指向子类对象
- 多态---父指针指向子类对象(父类引用指向子类对象)
- Java多态-如何理解父类引用指向子类对象
- Java多态--父类引用指向子类对象
- Java多态 父类引用指向子类对象
- 多态-父类对象引用指向子类对象
- 父类引用指向子类对象(Java中的多态)
- java继承实质、父类引用指向子类对象(多态)、声明时类型、运行时类型
- java多态,如何理解父类引用指向子类对象