javaoop——笔记(第三章)

第一节:多态概述 同一个实现接口,使用不同的实例而执行不同的操作
1、多态指对象的多种形态:引用多态与方法多态
注意:
A:继承是多态的实现基础
B:方法重写也是多态的体现

2、引用多态
A:父类的引用可以指向本类的对象:父类 对象名 = new 父类();
B:父类的引用可以指向子类的对象:父类 对象名 = new 子类();——多态的体现
注意:该对象调用的方法是从父类继承或子类重写的方法,并且会丢失子类特有的方法。
注意:
A:子类的引用不可以指向父类的对象
B:B例的话,父类对象不能直接调用子类的独有方法(只能访问父类继承给子类的东西)
3、方法多态
A:创建本类对象时,调用的方法为本类方法
B:创建子类对象时,调用的方法为子类重写的方法或者继承的方法

	public void feed(Pet pet){
		pet.eat();  //传入类的类型  执行相应类的eat方法
	}
	public static void main(String[] args) {
		Master 	master = new Master();
		Pet pet = new Dog("旺财","金毛");  // 将dog向上转型
		master.feed(pet);		//将转型后的pet(dog)传入feed方法  这时pet已经是dog类
	}


——
——
第二节:引用类型转化
引用类型转换:
1、向上类型转换(隐式/自动类型转换),是小类型到大类型的转换。
如:Dog dog=new Dog();Animal animal=dog;//正确,自动类型提升,向上类型转换
转换后子类可以使用父类所有方法 但是会丢失子类自己的方法
2、向下类型转换(强制类型转换),是大类型到小类型的转换(存在风险,溢出)(还原子类的真实面目)

Pet pet = new Dog();

Dog dog=(Dog) pet ; //向下类型转换 转换后可执行dog类其他的方法


instanceof 运算符
dog instanceof Dog (dog对象如果属于Dog类型返回ture) 判断真实指向什么类型

软件使用技巧:

1、子类方法名点中——Ctrl+1——可以将所有抽象方法补全。
2、Ctrl+1——修改类名,连着文件名一起修改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值