第四章 继承

为什么使用继承
使用继承优化后

  • 方便修改代码
  • 减少代码量

如何使用继承
使用继承
编写父类
class Pet{
//公共的属性和方法
}
编写子类,继承父类
class Dog extends Pet{>>>只能继承一个父类
//子类特有的属性和方法
}
class Penguin extends Pet{
}
extends 继承关键字 对比 C#用“:”

子类访问父类成员>>>使用super关键字,super代表父类对象
访问父类构造方法
super(); >>>在子类构造函数方法中调用且必须是第一句
super(name);>>>在子类构造函数方法中调用且必须是第一句
访问父类属性
super.name;
访问父类方法
super.print();

继承
在这里插入图片描述
访问修饰符protected

  • 可以修饰属性和方法
  • 本类、同包、子类可以访问

访问修饰符总结
在这里插入图片描述
在这里插入图片描述
在何处使用继承
继承与真实世界类似

  • 只要说“猫是哺乳动物”,猫的很多属性、行为就不言自明了
  • 藏獒是一种狗

符合is-a关系的设计使用继承

继承是代码重用的一种方式
将子类共有的属性和行为放到父类中

方法重写
在这里插入图片描述
方法重写的规则

  • 方法名相同
  • 参数列表相同
  • 返回值类型相同或者是其子类
  • 访问权限不能严于父类

方法重载与方法重写在这里插入图片描述
super关键字来访问父类的成员

  • super只能出现在子类的方法和构造方法中
  • super调用构造方法时,只能是第一句
  • super不能访问父类的private成员

Object类
Object类是所有类的父类
在这里插入图片描述
Object类被子类经常重写的方法
在这里插入图片描述

Object类的equals()方法

  • 比较两个对象是否是同一个对象,是则返回true
  • 操作符==
    简单的数据类型,直接比较值。如1==2
    引用类型,比较两者是否为同一对象
    在这里插入图片描述

instanceof用于判断一个引用类型所引用的对象是否是一个类的实例

抽象类
Java中也使用抽象类,限制实例化
public abstract class Pet{
}
abstract也可用于方法——抽象方法

  • 抽象方法没有方法体
  • 抽象方法必须在抽象类里
  • 抽象方法必须在子类中被实现,除非子类是抽象类
    public abstract void print();>>>没有方法体

final用法
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值