08 Java面向对象之继承

JavaSE 基础之八

08 Java面向对象之继承

① 对象与对象之间的关系

  1. 关联关系: 最弱的一种关系。(例如:学生类中包含了老师)
  2. 继承关系: 比较强的一种关系,可以用 “A is a B”来判别。 (例如:兔子是食草动物,兔子继承了食草动物)
  3. 聚合关系: 比较强的一种关系,基于继承关系。
    1. 聚合:老师是学校的一部分,此老师也可以属于其它学校。
    2. 组合:胳膊和头的关系(都是身体的一部分)。
  4. 实现关系: 子类要去实现父接口

② 继承的语法实现

class Animal{

}
class Rabbit extends Animal{
      // Rabbit称为子类,Animal称为父类
}

③ 继承的特性

  1. 子类继承父类,子类可以拥有父类的所有属性(非私有的属性)和(非私有的)方法;
  2. 子类可以拥有自己的属性和方法,对父类进行了扩展;
  3. 子类也可以实现父类的方法;
  4. java的继承是单继承,一个只能有一个父类(extends)。
    注意:继承中,new 创建子类对象的时候是先创建父类对象,先取父类的属性进入内存待下一步使用
    缺点:提供了类与类之间耦合,代码之间联系非常紧密,代码独立性比较差,以后修改或替换不容易

④ object类

  1. object类是所有java类的根基类,如果在类中没有extends显示的去继承类,默认就继承object类。
  2. 创建的任何一个对象都可以使用object提供的方法。
  3. java为什么要设计每个类都继承object类?(因为object类提供了所有类公用的各种方法。)

⑤ super关键字

  在java类中,使用super关键字来表示引用父类的属性和方法,或者调用父类的构造器
  this表示当前对象,super表示父类对象
  1. super.属性、super.方法() 表示调用父类的属性和方法
  2. super(参数)

⑥ toString方法

  1. 父类的toString方法就将内存地址转化为类名+hashcode码
  2. 重写toString 优先调用子类的toString
  3. java默认规定,如果你输出的对象的变量,默认调用toString,将内存地址转化为字符串输出
  4. java输出内容的时候,输出的:变量.属性、变量.行为,默认不会执行toString

⑦ final关键字

  1. final的本意:不可更改、衡量。
  2. final修饰变量:final int K = 10; 变量的值就不能更改,此刻K变成一个常量。
  3. final修饰类:表示当前类是最终类,当前类不能再做修改或者扩展,当前类不能被任何子类继承。
  4. final修饰方法:代表当前方法不能被修改,该方法不能被重写。

posted on 2019-03-10 00:47  PenjayFeng  阅读(138)  评论(0编辑  收藏  举报

导航