08 Java面向对象之继承

Posted gavin520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08 Java面向对象之继承相关的知识,希望对你有一定的参考价值。

JavaSE 基础之八

08 Java面向对象之继承

① 对象与对象之间的关系

  1. 关联关系:最弱的一种关系(学生类中包含了老师)
  2. 继承关系:比较强的一种关系,is-a,你能够用:什么是什么说通
  3. 聚合关系:比较强的关系,聚集和组合,什么是什么的一部分
  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

以上是关于08 Java面向对象之继承的主要内容,如果未能解决你的问题,请参考以下文章

Java面向对象三大特征之继承和多态

java面试准备之面向对象

Java学习面向对象之继承

java面向对象之继承

Java面向对象一(封装 继承 多态 类 对象 方法)

面向对象三大特征之二:继承