Head First Java学习笔记(7):继承与多态

继承

子类继承父类: 子类继承了父类的成员,即父类的实例变量和方法。子类可以重写继承下来的父类的方法,也可以加入自己的实例变量和方法。
设计继承树: ①找出具有共同属性和行为的对象。
②设计代表共同状态与行为的类。
③决定子类是否需要让某项行为(也就是方法的实现)有特定不同的运作方式。
④通过寻找使用共同行为的子类来找出更多抽象化的机会。
⑤完成类的继承层次。
方法调用: 当调用对象引用的方法时,最低阶的会胜出。即JVM会从层次树最下方开始找起,并往上寻找直到找到为止。
IS-A与HAS-A: IS-A:判断类之间是否有继承关系;
HAS-A:包含关系。
super: 用于子类中引用父类的方法并加上额外行为。

public void roam() {
    super,roam();//先执行super版的roam(),再执行自定义的行为
    //my own roam stuff
}

权限: 父类可以通过存取权限决定子类是否能继承某些成员。
public类型的成员会被继承;
private类型的成员不会被继承。
继承的意义: ①继承避免了重复的代码。
②继承定义出共同的协议。

多态

1.运用多态时,引用类型可以是实际对象类型的父类,即子类的对象可以赋值给父类的变量。
2.参数和返回类型也可以多态。

//多态变量
1.Java的对象变量是多态的,它们能保存不止一种类型的对象。
2.它们可以保存的是声明类型的对象,或声明类型的子类的对象。
3.当把子类的对象赋给父类的变量的时候,就发生了向上造型。

final修饰符:修饰类时表示是继承树的末端,类不能再被继承。修饰方法时可以防止该方法被覆盖。

覆盖

1.参数必须要一样,且返回类型必须要兼容。
2.不能降低方法的存取权限。

方法重载

重载即方法名称相同,但参数不同。
1.返回类型可以不同。
2.不能只改变返回类型。
3.可以更改存取权限。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值