Java 继承学习总结
2021/8/18 9:06:19
本文主要是介绍Java 继承学习总结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java 继承学习总结
本章学习目标
-
重点掌握继承的作用
-
掌握 extends 关键字的含义和用法
-
重点掌握方法重写
-
掌握 super 关键字的含义和用法
-
掌握 final 关键字的含义和用法
什么是继承
继承就是在面向对象编程中,通过扩展一个已有的类,并拥有该类的所有属性和方法,来创建一个新的类。
被继承的类叫基类或父类,继承的类叫子类或派生类。
注意:构造器不支持继承,必须为子类定义显示构造器或使用隐式默认构造器
类与类的关系
-
继承关系(is - a)
代表的是两个类是同一类型,有着部分相同的属性和方法,完全符合 is – a 关系
-
组合关系(has - a)
代表的是两个类是不同类型,有着一个类包含或拥有另一个类,完全符合 has – a 关系
extends 关键字
extends 关键字用于表示 Java 中两个类之间存在继承关系
代码格式
访问修饰符 class 子类名 extends 父类名 { … }
继承的优缺点
优点
-
提高代码的可复用性(减少创建类编写代码的工作量)
-
提高代码的可扩展性
缺点
-
打破代码的封装性(父类向子类暴露实现细节)
-
降低代码的灵活性(父类更改子类也同时更改)
单继承与多继承
Java 不支持多继承,即一个类有且仅有一个父类或基类
Object 类
Object 类是 Java 所有类的根类,一个类如果没有继承任何类则默认继承 Object类
Object 类的方法如下:
public final Class getClass(); public int hashCode(); public boolean equals(Object x); protected Object clone() throws CloneNotSupportedException; public String toString(); protected void finalize() throws Throwable; public final void wait() throws InterruptedException; public final void notify();
方法重写
方法重写就是子类可以重写从父类继承的方法,从而允许子类改变父类中方法的行为
方法重写规则
-
子类重写的方法签名必须和父类完全相同
重写方法的返回值类型、方法名和形式参数列表都要与父类完全一致
-
子类重写的方法权限访问修饰符必须不小于父类中的访问修饰符
权限访问修饰符访问权大小顺序为:public > protected > private
-
子类中重写的方法抛出异常不能比父类范围大
避免异常处理机制出现问题
方法重写与方法重载的区别
-
方法重写:子类中的方法与父类中的方法签名完全相同(方法名称、参数列表、返回值类型) - 两个类有继承关系
-
方法重载:一个类中的方法与另一个方法名相同但参数列表不同 - 一个类有相同方法名
super 关键字
this 关键字表示当前对象的引用,super 关键字表示父类对象的引用
super 使用方法
super.属性名;//子类调用父类对象属性 super.方法名;//子类调用父类对象方法 super(…); //子类调用父类构造器(第一行)
子类对象实例化流程
-
先实例化父类对象(调用父类构造器)
-
再实例化子类对象(调用子类构造器)
-
父类的静态初始化块 子类静态初始化块 父类的初始化块 父类构造器 子类初始化块 子类构造器
public class Car { public Car ( ) { System.out.println(“汽车构造器”); } } public class SportsCar extends Car { public SportsCar ( ) { super( ); //调用父类构造器 System.out.println(“跑车构造器”); } }
final 关键字
final 关键字表示最后的、不可更改,可用于修饰类、属性(或成员变量)、方法
这篇关于Java 继承学习总结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?