java学习第16天
继承概述:
继承的格式 public class 子类名 extends 父类名{}
范例:public class Zi extends Fu{}
Fu:是父类,也被称为基类、超类
Zi:是子类,也被称为派生类
继承中子类的特点:
子类可以有父类的内容,子类还可以有自己的内容。
集成的好处与弊端:
继承的好处提高了代码的复用性(多个类相同的成员可以放到同一个类中),提高了代码的维护性(如果方法代码需要修改,修改父类一处即可)
继承的弊端继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也不得不跟着变化,削弱了子类的独立性。
什么时候使用继承?
集成的体现关系:is a
假设我们有两个类A和B,如果他们满足A是B的一种,或者B是A的一种,就说明它们存在继承关系这个时候考虑使用继承来体现,否则就不能滥用继承
举例:苹果和水果,猫和动物,猫和狗。
继承中变量访问的特点:
在子类方法中访问一个变量,在子类方法局部范围找,在子类成员范围找,父类成员范围找(不考虑父类的父类),没有就报错。
Super和this关键字的用法
This代表本类对象的引用,super:代表父类存储空间的标识(可以理解为父类对象的引用)
关键字this this.成员变量 访问成员变量 this(参数)访问本类构造方法 this.成员方法()访问本类的成员方法。关键字super super.成员变量 访问父类成员变量 super() 访问父类构造方法 super.成员方法() 访问父类成员方法
继承中构造方法的访问特点
子类会继承父类中的数据,可能还会使用父类的数据,所以子类初始化之前一定要完成父类的初始化,每一个子类构造方法的第一条语句默认都是:super()
当父类没有无参构造方法时,通过使用super关键字调用父类的带参构造方法。默认或者在父类中自己提供一个无参构造方法(推荐使用后者)。
继承中成员方法的访问特点:在子类成员范围中找,在父类成员范围中找,都没有就报错。
方法重写:子类型中出现了和父类中一摸一样的方法声明,当子类需要父类的功能,而功能的主体子类有自己特有的内容,可以重写父类中的方法,这样,即沿袭了父类的功能,有定义了子类的特有内容。
原文地址:https://www.cnblogs.com/20203923rensaihang/p/15046428.html
- 如何用<dl>标签做表格而不用table标签
- Gulp使用指南
- Gulp Error: Cannot find module 'jshint/src/cli'
- 自学如何使用Python和Keras构建你自己专属的AlphaZero系统
- 用Visual Studio Code写Node.j
- 帝国CMS搜索页伪静态实现方法
- 5步搭建GO环境
- 你真的了解如何将 Nginx 配置为Web服务器吗
- 12个JavaScript技巧
- 梯度是如何计算的
- Java 机器学习库Smile实战(二)AdaBoost
- 如何用excel urldecode解码把url编码转为汉字?
- Scikit-learn实战之 SVM回归分析、密度估计、异常点检测
- TensorFlow模拟简单线性模型小栗子
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释