Java 第十讲 笔记:多态,向上转型

一、多态

1、多态的三个条件

  • 继承
  • 重写
  • 父类的引用指向子类的对象

二、多对象转型

1、向上转型

父类的引用指向子类的对象

//女扮男装,由女儿变成了父亲的身份去征兵打仗
		//向上转型,由小往大,自动转换
		Daughter huaMuLan = new Daughter();
		Father huaHu = huaMuLan;
		huaMuLan = null;
		
		huaHu.fight();

向上转型,由小往大,自动转换;

2、向下转型

子类的引用指向父类的对象

//得胜归朝
		//向下转型(一定是基于向上转型的),由大往小,强制转换
		System.out.println("-----得胜归朝-----");
		huaMuLan = (Daughter)huaHu;
		huaHu = null;
		huaMuLan.dressup();

向下转型,由大往下,强制转换。

三、instanceof方法

A instanof B 判断 A 类是否为B 类

if(p instanceof NorthPerson){
			NorthPerson np = (NorthPerson) p;
			np.eat();
			System.out.println("做馒头");
		}else{
			SouthPerson sp = (SouthPerson) p;
			sp.eat();
			System.out.println("做米饭");
		}
李四是北方人爱吃馒头
做馒头
张三是南方人爱吃米饭
做米饭
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值