继承的使用

  1. 先写父类,将子类公有属性和方法抽取出来,形成父类
  2. 再写子类,使用extends关键字去继承父类,此时子类只需要关心和添加子类自身扩展的属性和方法即可。公有的部分可以从父类继承过来
  3. java中只支持单根继承,即每一个子类只能有一个直接的父类,如果没有明显的直接继承,那么这个类就继承自Object类
  4. 继承遵循is-a的原则

继承的定义语法

权限修饰符 class 父类名 {
    公有的属性和方法
}
权限修饰符 class 子类名 extends 父类名{
    子类扩展的属性和方法
}

super关键字的使用

  • super关键字只能出现子类中
  • super关键字可以调用父类的成员属性和成员方法
  • super关键字可以调用父类的构造方法,调用父类构造方法只能出现在子类的构造方法中并且得是子类构造方法的第一条语句
  • super代表父类对象的引用
    • 注意:super如果想要调父类的成员属性和成员方法,父类不能使用private修饰它的属性和方法

继承中构造方法的调用规则

  • 子类构造方法中没有通过super显式调用父类的有参构造方法,也没通过this显式调用自身其他构造方法,那么系统默认调用父类的无参构造方法
  • 子类构造方法通过super显式调用父类的有参构造方法,执行父类相应构造方法,而不执行父类无参构造方法
  • 子类构造方法通过this显式调用自身的其他构造方法,在相应构造方法中应用以上两条规则

子类可以从父类继承哪些东西?

  • 父类中用public和protected修饰的属性和方法可以被子类继承
  • 父类中用默认修饰的属性和方法可以被子类继承,但是子类和父类得在同一个包
  • 子类不能继承得到父类的构造方法,但是可以使用super关键字去调用
  • 子类不能继承得到父类中被private修饰的成员属性和方法,但是可以使用setter/getter接口方法去访问
    • 例如: super.setName()

快捷键

  1. Alt+ / 快速提示
  2. Alt+ 左右键 代码页翻页
  3. Ctrl+Alt+上下键 代码复制
  4. Alt+上下键 代码移动