Java继承超详细( 二 )


Java继承超详细

文章插图
 
使用super关键字使用super调用父类中重写的方法、访问父类中被隐藏的字段
子类重写了父类中的某一个方法,隐藏父类中的字段,假如想在子类中访问到父类中被重写的方法和隐藏父类的字段,可以在子类中通过使用关键字super来调用父类中被重写的方法和访问父类中被隐藏的字段 。例如:
Java继承超详细

文章插图
 
运行结果为:
Java继承超详细

文章插图
 
使用super调用父类的无参数构造方法/有参数构造方法子类不继承其父类的构造方法 。
  • 当使用无参数的super()时,父类的无参数构造方法就会被调用;
  • 当使用带有参数的super()方法时,父类的有参数构造方法就会被调用 。
例如:
Java继承超详细

文章插图
 
运行结果为:
Java继承超详细

文章插图
 
注意:
  • 如果要初始化父类中的字段,可以在子类的构造方法中通过关键字super调用父类的构造方法;
  • 对父类的构造放的调用必须放在子类构造方法的第一行;
  • 如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器;
  • 如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表;
  • 子类是不继承父类的构造器(构造方法或者构造函数)的,它只是调用(隐式或显式) 。




推荐阅读