Java 多态,向上造型
来源:互联网 发布:甲方乙方影评知乎 编辑:程序博客网 时间:2024/04/28 12:51
首先我们来定义四个类, 分别是动物类、猫类、狗类、动物信息类, 猫类和动物类都继承了动物类,并且都有自己单独的属性。但是在动物信息类中我们定义了一个是动物类的ArrayList,每次new进去的是猫或者狗而不是animal的对象,但系统知道这是什么,,就是说我一各动物列表,里面可以方任何动物,我也可以管理任何动物,当然是需要重写父类方法的,不然要报错,任何动物的属性都在这里得到保留。
Java的多态变量:
1 Java的对象变量是多态的,他们能保存不止一种类型对象
2 它可以保存申明类型的变量,或申明类型的子类的对象
3 把子类的对象赋到父类的变量的时候就发生了向上造型
多态条件:
1,有继承的存在。
2,子类重写父类方法。
3,父类引用指向子类对象。
动物类:
package DuoTai;public class Animal {private String name;private int sex;public void voice(){System.out.println("普通动物叫声");}public Animal(String name, int sex) {super();this.name = name;this.sex = sex;}}猫类:
package DuoTai;public class Cat extends Animal{private String maojiao;public void voice(){System.out.println("喵喵喵");}public Cat(String name, int sex, String maojiao) {super(name, sex);this.maojiao = maojiao;}}狗类:
package DuoTai;public class dog extends Animal{public dog(String name, int sex, String jiao) {super(name, sex);this.jiao = jiao;}public void voice(){System.out.println("汪汪汪"+jiao);}private String jiao ;}动物信息类:
package DuoTai;import java.util.ArrayList;public class DataAnimal {private ArrayList<Animal> animal = new ArrayList<Animal>();public void add(Animal a){animal.add(a);}public void list(){for(Animal a : animal){a.voice();}}public static void main(String[] args) {dog d = new dog("白狗",1,"汪汪汪");Cat c = new Cat("黄猫",0,"喵喵喵");add(d);add(c);list();}}话说,多态的单词是:polymorphism
阅读全文
0 0
- Java 多态,向上造型
- Java 向上造型详解
- java中的向上造型
- Java中的向上造型和向下造型
- Java学习笔记--向上造型
- 向上造型
- java内存管理、继承、和向上造型
- c++向上造型(upcast)
- Upcating(向上造型)
- 浅谈向上造型
- iava中的向上造型
- C++向上造型
- 继承,super,向上造型
- 22. 向上造型
- java 上溯造型(向上转型)和动态绑定
- Java学习笔记之多态变量和向上造型
- Java.面向对象.02.继承、向上造型等
- java基础之向上造型与多态
- 实施微服务架构的关键技术
- spring的事务管理
- JavaScript计算字符串长度(含中文)
- 从零开始部署个人网站(三)--数据库和git
- C#去除HTML标签
- Java 多态,向上造型
- 我使用的IJK拉流直播播放器
- Okhttp设置User-Agent你可能没遇到的坑,源码解读
- myeclipse快捷键
- 查找并杀死僵尸进程
- Spring-注入参数详解-[字面值及引用其他Bean]
- ES6 与 ECMAScript2015
- oracle 常用脚本
- 通过闪烁标题来实现web消息通知的小demo