一,继承
继承的概念(Inheritance):面向对象的三大特性之一
- 一个获取现有类的所以属性的行为的机制
- 创建基于现有类的基类,可以重用现有类的属性和方法
- 可以在新创建的子类添加新属性和方法
作用:
- 有效的解决了代码的重用问题,使代码拓展更加灵活
- 从始至终完整的体现了一个应用系统,逻辑更加清晰
- 增加软件的可扩展性,以适应不同的业务需求
一、什么是继承?
继承是面向对象三大特征之一,子类继承父类,子类拥有
java中的继承描述的是两个类之间的关系,被继承的类称为父类,继承的类成为子类,可以解决编程代码中冗余的问题,每个只能有一个直接父类
语法:
[访问修饰符]class <SubClass>extends<SuperClass>{}
继承的特性:
1.单根性:
1.继承的优点
①提高代码的复用性
②提高代码的维护性
③让类与类之间产生关系,是多态的前提
2.继承的缺点
增强了类之间的耦合
软件开发的一个原则是高内聚、低耦合
内聚是一个模块内各个元素彼此结合的紧密程度
耦合是一个软件里面不同模块之间的互相连接的数量
3.Object类
Object类是Java的祖先。在定义一个类时,没有使用extends关键字,它没有显示继承某个类,直接继承的Object类。所以对象都继承Object类的方法。
常用方法
方法 | 说明 |
---|---|
toString() | 返回当前对象的有关信息,返回字符串对象 |
boolean equals() | 判断两个是否是相同对象,是则返回true |
Object clone() | 生成当前对象的一个副本,并返回 |
Int hashCode() | 返回该对象的哈希代码值 |
getClass() | 获取当前对象所属的类信息,返回Class对象,即运行时类 |
一、什么是重写
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
二、重写的特性
- 发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
- 子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
- 子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
方法重载与方法重写
位置 | 方法 | 参数表 | 返回值 | 访问修饰符 | |
---|---|---|---|---|---|
方法重写 | 子类 | 相同 | 相同 | 相同或是子类其子类 | 不能比父类更严格 |
方法重载 | 同类 | 相同 | 不相同 | 无关 | 无关 |