java 的多态 及向上向下转型
2017-12-10 21:27
351 查看
一、多态: 一种事物的多种形态
多态的规则(前提):
1.类与类之间要建立关系 建立继承关系
2.必须要有方法的重写
3.父类的指针(引用)指向 子类的对象(空间)
例:
多态时 成员本类是如何调用的?
* 多态时 当父类引用调用成员变量时
* 编译 需要看父类中有没有这个成员变量 没有编译不会通过
* 运行 访问就是父类中的这个成员变量
* 多态时 父类访问成员变量时编译 和 运行(看父类)
二、 向上转型
向上转型就是把子类对象赋值给父类类型的变量。
例:使Parallelogram子类继承Quadrangle父类,然后在主方法中调用父类的draw()方法
![](https://img-blog.csdn.net/20171210212033562?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveHhmMTUxNjIxNjE0NTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
三、向下转型
子类对象总是父类的一个实例。
例:不能说四边形是平行四边形的一种,也不能说鸟是麻雀的一种… …
多态的规则(前提):
1.类与类之间要建立关系 建立继承关系
2.必须要有方法的重写
3.父类的指针(引用)指向 子类的对象(空间)
例:
创建 动物类 猫类 狗类 * 都有一个吃的方法 动物类 动物吃饭 * 猫 吃鱼 * 狗 吃骨头 * */ public class Demo01 { // 本类的引用(指针)指向 本类对象(空间) // 猫是一只猫 public static void main(String[] args) { Cat c = new Cat(); c.eat(); // 猫是一只动物(不能是 动物是一只猫) // 父类的引用(指针)指向 子类的对象(空间) Animal a = new Cat(); a.eat(); } } class Animal{ public void eat() { System.out.println("吃饭"); } } class Cat extends Animal{ public void eat() { System.out.println("猫吃鱼"); } } class Dog extends Animal{ public void eat() { System.out.println("狗吃骨头"); } }
多态时 成员本类是如何调用的?
* 多态时 当父类引用调用成员变量时
* 编译 需要看父类中有没有这个成员变量 没有编译不会通过
* 运行 访问就是父类中的这个成员变量
* 多态时 父类访问成员变量时编译 和 运行(看父类)
二、 向上转型
向上转型就是把子类对象赋值给父类类型的变量。
例:使Parallelogram子类继承Quadrangle父类,然后在主方法中调用父类的draw()方法
class Quadrangle{ // 四边形类 public static void draw(Quadrangle q) { // 四边形类中的方法 // SomeSentence } } public class Parallelogram extends Quadrangle{//平行四边形类继承了四边形类 public static void main(String args[]) { Parallelogram p = new Parallelogram();// 实例化平行四边形类对象引用 draw(p);// 调用父类方法 } }
三、向下转型
子类对象总是父类的一个实例。
例:不能说四边形是平行四边形的一种,也不能说鸟是麻雀的一种… …
相关文章推荐
- Java多态 向上转型 向下转型
- Java 多态部分 向上转型 向下转型
- java 什么是多态?多态的三种表现形式?什么是向上转型和向下转型?多态的利和弊?
- java的多态(向上转型、向下转型)
- java多态向上转型和向下转型
- 理解java中向上向下转型(java多态原理)
- Java多态 向上转型 向下转型
- java多态使用、向上转型、向下转型
- Java多态——向上转型与向下转型
- 多态实现(向上转型、向下转型)--java
- java语言基础(37)——面向对象(多态中的向上转型和向下转型)
- java多态向上、向下转型问题
- 关于Java多态——向上向下转型
- Java多态(利用向上向下转型和反射机理)
- (转载)java多态(2)-------Java转型(向上或向下转型)
- Java向上转型和向下转型(多态核心)
- Java多态(利用向上向下转型和反射机理)
- JAVA笔记-多态的意义(向上转型与向下转型)
- 从零开始学Java之多态 向上转型与向下转型
- Java 多态部分 向上转型 向下转型