Java类和类之间的关系

类和类之间的关系

A is-a B(A是一个B) 泛化(继承 实现)

继承关系

  1. 子类想要继承父类,通过extends关键字来实现
  2. 子类继承了父类,可以调用父类中的(public protected)的属性和方法
    2.1 构造方法严格意义来说 不算做子类继承过来,只是单纯的在子类调用构造方法时,默认调用父类的构造方法
    2.2 程序块严格意义来说 不算做子类继承过来(子类自己调用不到 没名字),默认调用了父类的构造方法 父类构造方法之前自动执行父类的块
  3. 子类除了能继承父类的属性和方法之外,子类还可以添加自己独有的成员(属性和方法)
  4. 当父类继承过来的方法无法满足子类的需要,可以进行方法重写(override)
    4.1 关于方法重写(override)和 方法重载(overload)区别
重写(override) 重载(overload)
继承关系两个类 一个类中的一组方法
权限 final static abstract
父类是final 子类不能重写
父类是static 子类不存在重写
父类是abstract 子类必须重写 否则子类也得是抽象类
返回值 子类可以小于等于父类
方法名 子类必须与父类一致 几个方法的名字必须一致
参数 子类必须与父类一致 几个方法的参数必须不一致(个数 类型 顺序)
异常 继承关系两个类
编译时,运行时
如果父类抛出运行时 子类可以不予理会
如果父类抛出编译时 子类抛出异常的(个数类型)要少于等于父类
  1. 每一个类都有继承,如果不写extends关键字,默认继承Object,如果写了extends则继承后面那个父类 可以理解为Object非常重要,是任何一个引用类型的父类(直接或间接的继承Object)Object没有父类

  2. this与super关键字的区别
    this和super都是替代对象
    this替代的是执行属性或方法时的当前这个对象
    super替代的是当前对象的父亲对象
    this和super都可以调用一般属性或方法,放置在类成员的任意位置
    方法之间是可以来回调用(编译好用),执行时注意StackOverflowError的问题
    this和super都可以调用构造方法,只能放在另一个构造方法的第一行
    当利用this或super调用构造方法时,他们两个不能同时出现(他们都想抢占第一行,冲突啦)

posted @ 2023-09-24 21:02  HuangBingQuan  阅读(10)  评论(0编辑  收藏  举报