Java课程笔记10

多态
多态的概念:
夫类型的引用可以指向子类型的对象。

Animal a=new Dog();

1.引用:父类型       对象:子类型

2.使用父类型的引用属性和方法,只能调用父类中的属性和方法。

3.运行时,如果子类覆盖了父类中方法,优先调用子类覆盖后的方法。

多态的语法总结
1.多态:A a=new B();

2.用a引用调用方法:a.m1();

                                  b.m1();

3.实际运行时,m1运行A中的,m2运行B中的。

多态的强制转换:
父类给子类要用强转,子类给父类直接用。
1.子类型引用直接赋值类夫类型的引用
    Dog d=new Dog();

    Animal a=d;

2. 父类型引用必须通过强转赋值给子类型的引用
    Animal a=new Dog();

    Dog d=(Dog)a;

3.没有继承关系的引用之间不能相互赋值
    Animal a=new Dog();

    person p=(person)a;

instanceof:
语法:引用名 instanceof 类名
判断引用名中存储的实际对象是否兼容于后面的类型,兼容结果为true.不兼容结果是false.

Animal a=new Dog();
System.out.printin(a instanceof Dog);
System.out.println(a instanceof Cat);
System.out.printin(a instanceof Animal);

instanceof的作用:
先判断引用中的真实类型,再做类型转换,可以避免转换类型异常.

Animal a-new Dog()
if(a instanceof Cat){
Cat c=(Cat)a
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值