多态详解

一、多态定义:

    一种事物的多种形态,在程序中,多态就是用父类的引用指向子类的对象;

二、多态使用的前提:

    类与类之间一定要存在继承关系;

三、程序运行分成三个阶段:

    ①预编译:当程序打开的时候,活儿已经干玩儿了--C中的宏定义(#define);

    ②编译:从打开程序点击运行程序--识别=前面的引用类型,不识别=后面的对象

    ③运行:真正去识别对象,对象开始干活儿;

四、多态的优点:

    可以提高代码的扩展性,使用之前定义好的功能,后期直接拿来使用,不用再创建新的方法;

五、多态的缺点:

    只能调用父类有的方法,不能直接调用子类特有的方法;

六、动态加载:

    实现动态的手段:动态加载,动态绑定,动态类型

    我们将在编译阶段不能确定具体的对象,只有到了运行阶段才能确定真正干活儿的对象的过程称为动态加载;

七、容错处理(instanceof,前提:instancof的前后必须有继承的关系)

    instanceof运算符:构成  :   对象   instanceof  类      结果两个:true/false

    原理:用来判断在父子类之间,前面的对象是否是后面的类或后面的类的子类的对象.如果是返回true,不是--          false

    使用instanceof进行容错处理,可以保证当前位置发生的问题不影响整个程序的运行,做一个预防的工作-----     ---容错处理.--增加用户的体验

八、向上转型、向下转型(前提:定是在多态的情况下)

    向上转型定义:将子类的引用转换成父类的引用.(注意点:只是将指向子类对象的引用进行了转换,相当于是     自动类型转换,由低类型到高类型)

    向下转型:强制将父类的引用类型转成子类的引用类型--为了调用子类特有的方法

注意:几种错误的认识:①Teacher1 teacher12 = new Person();

        ②Person1 person1 = new Person1();

            Teacher1 teacher12 = (Teacher1)person1;//teacher12 = new Person1()

九、多态中成员的使用:

    当子类与父类有同名的成员变量时,当在继承下,调用与父类同名的成员变量时,优先调用子类的

十、Object类中的四个方法:

    ①equals()方法:默认equals比较的是两个对象的地址

    ②hashcode()方法:获取的是当前对象的哈希值:1.是十六进制的一个数   2.可以充当当前对象的身份证

    ③toString()方法:打印的是包名+类名+@+哈希值

    ④getClass()方法:获取当前形象对应的字节码文件

转载于:https://my.oschina.net/u/3174809/blog/1827063

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值