java 的多态 及向上向下转型
来源:互联网 发布:如何组织js代码 编辑:程序博客网 时间:2024/05/29 17:30
一、多态: 一种事物的多种形态
多态的规则(前提):
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);// 调用父类方法 }}
三、向下转型
子类对象总是父类的一个实例。
例:不能说四边形是平行四边形的一种,也不能说鸟是麻雀的一种… …
阅读全文
0 0
- java 的多态 及向上向下转型
- JAVA的向上转型及向下转型
- java的多态(向上转型、向下转型)
- java多态向上、向下转型问题
- java的向上向下转型
- java多态polymorphic多态的理解三之向上转型和向下转型及优与不足
- Java的向上转型和向下转型
- Java的向上转型与向下转型
- Java的向上转型与向下转型
- Java的向上转型和向下转型
- Java的【向上转型】和【向下转型】
- java的向上转型和向下转型
- java的向上转型与向下转型
- Java 多态部分 向上转型 向下转型
- java多态中的向上转型和向下转型
- java多态使用、向上转型、向下转型
- Java向上转型和向下转型(多态核心)
- java多态向上转型和向下转型
- String、String.valueOf、toString 区别总结
- Python基础-For循环本质
- 机房收费系统-优化
- VisualGDB调试,实现VS环境下调试Android
- 杨辉三角及一些现实问题的求解
- java 的多态 及向上向下转型
- 洛谷P2161 [SHOI2009]Booking 会场预约_Splay
- 什么是闭包?闭包的优缺点?
- 061day(虚函数和多态)
- 学习Linux基础命令,宏与函数的区别及宏的应用
- Rollup基础篇
- 机房收费系统退卡之触发器
- Gradle的依赖关系缓存可能已损坏(有时会在网络连接超时之后发生)
- 【LeetCode刷题记录】