类与类之间的关系-继承
类与类之间的关系
- A is-a B 泛化 (继承 实现)
- A has-a B 包含 (组合 聚合 关联)
- A use-a B 依赖 (依赖)
类关系设计:高内聚 低耦合 :继承(实现)>组合>聚合>关联 > 依赖
继承
1.子类继承父类,通过一个关键字 extends
2.子类对象可以调用父类中的(public protected)属性和方法 当作自己的来使用
3.子类可以添加自己独有的属性和方法
4.子类从父类中继承过来的方法不能满足子类需要,可以在子类中的重写(覆盖 override)父类的方法 更多指的是内容
5.每一个类都有继承类,如果不写extends关键字,默认继承Object,如果写了extends则继承后面的那个父类
Object 类,是任何引用类型的父类(直接或间接的继承Object类),Object类没有父类。
6.java中的继承是单个存在的(单继承)每个类只有一个继承类(在extends关键字后面只能写一个类)
可以通过传递的方式实现多继承的效果 可以用实现
8.关于this和super的使用
this 和 super 都是指代词 代替的是对象
this 代替的是 当前执行方法的那个对象 不一定是当前类
super 代替的是当前执行方法的对象的父类的对象 空间内部的那个
都能调用一般属性和一般方法
可以放在类成员的任意位置(属性 方法 构造 块)
注意调用一般方法的时候可以来回互相调用(写法 编译好用)执行可能产生问题(StackOverflowError)
可以调用构造方法(放在构造方法的第一行)
调用构造方法时:this 和 super不能同时出现,因为都需要放在第一行
构造方法之间来回不能互相调用(编译就不好用)
方法重载于方法重写的异同
比较 | 方法重写(OverRide) | 方法重载(OverLoad) |
---|---|---|
类 | 产生两个继承关系的类 | 一个类中的一组方法 子类重写父类方法 |
权限 | 子类可以小于等于父类 | 没有要求 |
特征 | final static abstract 父类的方法是final 子类不能重写 ,父类的方法是static 子类不存在 , 父类的方法是abstract 子类必须重写 | 没有要求 |
返回值 | 子类可以大于等于父类 | 没有要求 |
名字 | 必须与父类方法相同 | 必须相同 |
参数 | 必须相同 | 类型或个数或顺序必须不同 |
异常 | 异常 运行时 编译时 如果父类方法抛出运行时异常 子类可以不予理会;如果父类方法抛出编译时异常 子类抛出异常的个数少于等于父类,子类抛出异常的类型少于等于父类。 | |
方法体 | 子类的方法内容与父类不一致 | 每个重载的方法执行过程不一致 |
类与类之间的关系-继承相关推荐
- JAVA面向对象-----接口与类、接口之间的关系
接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...
- UML类图中类之间的关系,聚合,组合,依赖总结
下面我就根据下面这个图来讲解一下UML类图. 类图 首先,看动物那个矩形框,他就表示为一个类(Class).类图分为三层: 第一层显示类的名称 如果是抽象类,就用斜体表示 第二层显示类的特性,通常是字 ...
- 内存(Display)、显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存。请用Python语言简要实现这些类及它们之间的关系。
内存(Display).显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存.请用Python语言简要实现这些类及它们之间的关系. clas ...
- python基础------类与对象之间的关系,封装、继承、多态
类与对象.封装.继承 练习1 # 1.写一个员工类BwEmployee class BwEmployee(object): # (2)添加构造方法,包含5个形参,保存外部传入值,分别给以下实例属性赋值 ...
- Java中基本数据类型和Object之间的关系
1.基本数据类型和Object之间是没有关系的 2.基本数据类型的包装类 例如int 的包装类Integer的父类则是Object 输入:12 解释:在赋值的过程中进行自动装箱
- 面向对象:类与对象之间的关系
什么是类? 类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象.在面向对象的程序设计语言中,类是对一类"事物"的属性与行为的抽象. 什么是对 ...
- Java中的类与对象之间的关系
目录 1 面向对象思想 2 类和对象 1 类 2 对象 3 类与对象的关系 3 类的定义 4 对象的使用 5 成员变量的默认值 1 面向对象思想 对象泛指现实中的一切事物,每种事物都具备自己的属性和行 ...
- python类与类的关系_python 类与类之间的关系
一.依赖关系(紧密程度最低) (1)简单的定义:就是方法中传递一个对象.此时类与类之间存在依赖关系,此关系比较低. (2)实例植物大战僵尸简易版 题目要求:创建一个植物,创建一个僵尸 1.植物:名字. ...
- 封装(encapsulation)继承(extend)多态(Polymorphism)this,super、类与类之间的关系
封装(encapsulation) 属性可以用来描述事物的特征,方法可以描述事物可以做的操作.封装就是把同一类事务的共性(包括属性和方法)归到一个类中. 提高代码的安全性,通过访问权限将不想让客户端看 ...
最新文章
- 【camera-lidar-radar】基于卡尔曼滤波和扩展卡尔曼滤波的相机、激光雷达、毫米波雷达多传感器后融合
- iOS开发中与库相关的术语
- 再来一波PHP程序员必看书籍
- c语言编译不了什么情况,c语言编译没错但是无法运行
- ios FMDB数据库添删改查应用
- QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入
- Bootstrap HTML 编码规范之布尔型属性
- java json解码器_Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
- Kubernetes常见操作
- 启动mysql5.7异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
- MySQL GROUP_CONCAT长度限制引发的一场灾难
- Node.js:package.json中的dependencies和devDependencies区别
- 用Gradle 构建你的android程序
- 知云文献翻译出现乱码的解决方式
- ABAP 如何解析 JSON 数据试读版
- windows/OpenCV/VS/C++配置
- python解压rar、zip压缩包
- 夜神模拟器连不上 adb 问题解决方法
- 斗兽棋 java_GitHub - java-a/project1: 基于命令行的斗兽棋
- html设置word页边距,word怎样设置页边距的两种方法