美文网首页
面向对象之多态

面向对象之多态

作者: 公子请留步LookMe | 来源:发表于2021-10-15 14:15 被阅读0次

1.多态的前提1:是继承
2.多态的前提2:要有方法的重写
3.父类引用指向子类对象,如:Animal a = new Cat();
解释:创建出来的子类对象的地址值,交给父类类型的引用类型变量保存
4.多态中,编译看左边,运行看右边
解释:必须要在父类定义这个方法,才能通过编译,把多态对象看作父类类型。
必须要在子类重写这个方法,才能满足多态,实际干活的是子类

package cn.tedu.oop;
/*本类用作多态的入门案例*/
public class TestDemo {
    public static void main(String[] args) {
        //6.创建”纯纯的“对象用于测试
        Animal a = new Animal();
        Cat c = new Cat();
        Dog d = new Dog();
        //7.调用方法进行测试
        a.eat();//小动物Animal吃啥都行~
        c.eat();//小猫爱吃小鱼干~执行的是重写以后的功能
        d.eat();//小狗爱吃肉骨头~执行的是重写以后的功能
        /*2.父类不能调用子类的特有功能*/
        //a.play();
        c.play();//小猫Cat跳的老高啦~,子类可以调用自己的功能
        d.play();//小狗Dog跑的老快啦~,子类可以调用自己的功能

        //8.创建多态对象进行测试
        /*3.口诀1:父类引用指向子类对象
        * 解释:创建出来的子类对象的地址值交给父类类型的引用类型变量来保存*/
        Animal a2 = new Cat();
        Animal a3 = new Dog();
        /*4.口诀2:编译看左边 运行看右边
        * 解释:必须要父类定义这个方法,才能通过编译,编译时,把多态对象看作是父类类型
        *      必须要子类重写这个方法,才能满足多态,运行时实际干活的是子类*/
        a2.eat();//小猫爱吃小鱼干~,多态对象可以调用重写后的方法
        //a2.play();//多态对象把自己看作是父类类型,不能使用子类的特有方法

    }

}
/*1.多态的前提:继承+重写*/
//1.创建父类
class Animal{
    //3.提供父类的普通方法
    public void eat(){
        System.out.println("小动物Animal吃啥都行~");
    }
}
//2.1创建子类小猫类Cat并与Animal建立继承关系
class Cat extends Animal{
    //4.1添加子类重写的方法
    @Override//此注解表明本方法是一个重写的方法
    public void eat(){
        System.out.println("小猫爱吃小鱼干~");
    }
    //5.1添加子类特有的功能
    public void play(){
        System.out.println("小猫Cat跳的老高啦~");
    }
}
//2.2创建子类小狗类Dog并与Animal建立继承关系
class Dog extends Animal{
    //4.2添加子类重写的方法
    @Override//此注解表明本方法是一个重写的方法
    public void eat(){
        System.out.println("小狗爱吃肉骨头~");
    }
    //5.2添加子类特有的功能
    public void play(){
        System.out.println("小狗Dog跑的老快啦~");
    }
}


相关文章

  • 面向对象之------多态

    多态性,是面向对象中最重要的概念,在java中有两种体现:1.方法的重载(overload)和重写(overwri...

  • 面向对象 之 多态

    做个老实人哈哈! 多态思想 1. 接口(了解) 接口是一种约定规范,是多个抽象方法的集合。仅仅只是定义了应该有哪些...

  • Java基础day08笔记:多态|多态中成员的特点|多态的应用示

    01-面向对象(多态-概念) 接下来说一下面向对象的第三个特征:多态。 何为多态呢? 其实...

  • Java进阶 | 从整体上观察面向对象

    一、面向对象 面向对象是Java编程中最核心的思想,基本特征:继承、封装、多态。 1、特征之封装 将结构、数据、操...

  • Java进阶 | 从整体上观察面向对象

    一、面向对象 面向对象是Java编程中最核心的思想,基本特征:继承、封装、多态。 1、特征之封装 将结构、数据、操...

  • 宅男知识大补丸 学多态 认包包

    java零基础入门-面向对象篇(十) 多态 面向对象的三大特征,封装,继承我们讲完了,这次来讲多态。 多态就是指一...

  • OC面向对象—多态

    OC面向对象—多态 OC面向对象—多态 一、基本概念 多态在代码中的体现,即为多种形态,必须要有继承,没有继承就没...

  • Java学习day-07:面向对象

    一、面向过程和面向对象 1.面向对象与面向过程的区别: 面向对象具有三大特征;封装,继承,多态;面向对象与面向过程...

  • Kotlin入门学习(二)

    新的篇章 面向对象 面向对象-封装 面向对象-继承 面向对象-抽象类和多态 接口 委托和代理 by关键字 委托...

  • 对象和面向对象的介绍

    对象分为 面向对象和基于对象: 面向对象:面向对象定义: 可以创建自定义类型、很好的支持继承和多态。面向对象的语言...

网友评论

      本文标题:面向对象之多态

      本文链接:https://www.haomeiwen.com/subject/bsruoltx.html