10、面向对象之多态

1、多态

1.1、特点:

多态的前提:继承+重写

父类引用 指向 子类对象 ; Animal a1=new Cat();

看的是方法,编译看左边,运行看右边

​ 编译:看左边父类中是否有这个方法,决定程序是否报错

​ 运行:输出的结果看右边子类重写的方法

看的是方法的多态性,其他成员变量和静态修饰的方法输出的结果都是父类的;

1.2、 练习:多态入门案例
package cn.tedu.oop;
/* 本类用作多态的入门案例
   总结一句话:多态看的是方法,编译看左边,运行看右边
* */

public class TestDemo {
    public static void main(String[] args) {
        Animal animal = new Animal();
        animal.eat();
        Cat cat = new Cat();
        Dog dog = new Dog();
        cat.eat();
        dog.eat();
        /*2.多态的创建
           口诀1:父类引用  指向  子类对象
           口诀2:编译看左边,运行看右边
        * */
        Animal a1=new Cat();
        Animal a2=new Dog();
        a1.eat();
        a2.eat();
        /*3.多态的出现是为了统一调用标准,相父类看齐
        * 父类中定义了的功能才能用,子类的特有功能用不了*/
//        a1.jump();
//        a2.run();
        /*4.多态中,成员变量使用的是父类;
           方法定义使用的是父类的,方法实现使用的是子类的(编译看左边,运行看右边)*/
        System.out.println(a1.sum);
        /*多态中,静态方法使用的都是自己的,因为静态就不存在重写的概念,静态出现优先于对象,这里a2被看做Animal类*/
        a2.play();
    }
}

/*1.多态的前提:继承+重写*/
class Animal{
    int sum=10;
    public void eat(){
        System.out.println("小动物吃啥都行~");
    }
    public static void play(){
        System.out.println("小动物玩啥都行");
    }
}

class Cat extends Animal{
    int sum=100;
    @Override
    public void eat(){
        System.out.println("小猫爱吃小饼干~");
    }
    public void jump(){
        System.out.println("小猫跳得老高了~");
    }
}

class Dog extends Animal{
    @Override
    public void eat(){
        System.out.println("小狗爱吃骨头~");
    }
    public void run(){
        System.out.println("小狗跑得老快啦~");
    }

//    @Override 这里不是重写
    public static void play(){
        System.out.println("小狗爱打滚");
    }

}


weixin073智慧旅游平台开发微信小程序+ssm后端毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
python017基于Python贫困生资助管理系统带vue前后端分离毕业源码案例设计 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值