类与类之间的关系

  • 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 子类必须重写 没有要求
返回值 子类可以大于等于父类 没有要求
名字 必须与父类方法相同 必须相同
参数 必须相同 类型或个数或顺序必须不同
异常 异常 运行时 编译时 如果父类方法抛出运行时异常 子类可以不予理会;如果父类方法抛出编译时异常 子类抛出异常的个数少于等于父类,子类抛出异常的类型少于等于父类。
方法体 子类的方法内容与父类不一致 每个重载的方法执行过程不一致

类与类之间的关系-继承相关推荐

  1. JAVA面向对象-----接口与类、接口之间的关系

    接口与类.接口之间的关系 大家之前都知道类与类之间的关系继承,那么接口与类之间又是怎样子的关系呢? 接口与类之间是实现关系.非抽象类实现接口时,必须把接口里面的所有方法实现.类实现接口用关键字impl ...

  2. UML类图中类之间的关系,聚合,组合,依赖总结

    下面我就根据下面这个图来讲解一下UML类图. 类图 首先,看动物那个矩形框,他就表示为一个类(Class).类图分为三层: 第一层显示类的名称 如果是抽象类,就用斜体表示 第二层显示类的特性,通常是字 ...

  3. 内存(Display)、显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存。请用Python语言简要实现这些类及它们之间的关系。

    内存(Display).显示器(Monitor)和计算机(Computer)均属于一种产品(Product),其中计算机需要显示器和内存.请用Python语言简要实现这些类及它们之间的关系. clas ...

  4. python基础------类与对象之间的关系,封装、继承、多态

    类与对象.封装.继承 练习1 # 1.写一个员工类BwEmployee class BwEmployee(object): # (2)添加构造方法,包含5个形参,保存外部传入值,分别给以下实例属性赋值 ...

  5. Java中基本数据类型和Object之间的关系

    1.基本数据类型和Object之间是没有关系的 2.基本数据类型的包装类 例如int 的包装类Integer的父类则是Object 输入:12 解释:在赋值的过程中进行自动装箱

  6. 面向对象:类与对象之间的关系

    什么是类? 类就是具备某些共同特征的实体的集合,它是一种抽象的数据类型,它是对所具有相同特征实体的抽象.在面向对象的程序设计语言中,类是对一类"事物"的属性与行为的抽象. 什么是对 ...

  7. Java中的类与对象之间的关系

    目录 1 面向对象思想 2 类和对象 1 类 2 对象 3 类与对象的关系 3 类的定义 4 对象的使用 5 成员变量的默认值 1 面向对象思想 对象泛指现实中的一切事物,每种事物都具备自己的属性和行 ...

  8. python类与类的关系_python 类与类之间的关系

    一.依赖关系(紧密程度最低) (1)简单的定义:就是方法中传递一个对象.此时类与类之间存在依赖关系,此关系比较低. (2)实例植物大战僵尸简易版 题目要求:创建一个植物,创建一个僵尸 1.植物:名字. ...

  9. 封装(encapsulation)继承(extend)多态(Polymorphism)this,super、类与类之间的关系

    封装(encapsulation) 属性可以用来描述事物的特征,方法可以描述事物可以做的操作.封装就是把同一类事务的共性(包括属性和方法)归到一个类中. 提高代码的安全性,通过访问权限将不想让客户端看 ...

最新文章

  1. 【camera-lidar-radar】基于卡尔曼滤波和扩展卡尔曼滤波的相机、激光雷达、毫米波雷达多传感器后融合
  2. iOS开发中与库相关的术语
  3. 再来一波PHP程序员必看书籍
  4. c语言编译不了什么情况,c语言编译没错但是无法运行
  5. ios FMDB数据库添删改查应用
  6. QtCreator下使用c++标准输入cin输出cout没有阻塞等待输入
  7. Bootstrap HTML 编码规范之布尔型属性
  8. java json解码器_Jackson:我是最牛掰的 Java JSON 解析器(有点虚)
  9. Kubernetes常见操作
  10. 启动mysql5.7异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
  11. MySQL GROUP_CONCAT长度限制引发的一场灾难
  12. Node.js:package.json中的dependencies和devDependencies区别
  13. 用Gradle 构建你的android程序
  14. 知云文献翻译出现乱码的解决方式
  15. ABAP 如何解析 JSON 数据试读版
  16. windows/OpenCV/VS/C++配置
  17. python解压rar、zip压缩包
  18. 夜神模拟器连不上 adb 问题解决方法
  19. 斗兽棋 java_GitHub - java-a/project1: 基于命令行的斗兽棋
  20. html设置word页边距,word怎样设置页边距的两种方法

热门文章

  1. 双重检查锁(Double-Checked Locking)的缺陷
  2. 看2004奥运开幕式
  3. 压力机测试软件,一个典型的测试压力机的性能调优过程
  4. CF1007E Mini Metro(DP 化散为整,将状态压缩)
  5. 醣源素多醣体对人体的作用,主要表现在五个方面:
  6. [转]告诉你真实的监狱生活
  7. CPU知识:了解CPU 18条
  8. 真机电脑使用 HTTPS 方式登录ensp防火墙USG6000
  9. 学习经验分享【28】目标检测硕士大论文写作模板初稿【持续更新】
  10. 机器学习CV领域入门