继承

面向对象的三大特征:继承,封装,多态。

  继承:是类和类之间的一种拓展关系,是一种从一般到特殊的关系。

  格式:子类名 extends 父类名

  泛化:把子类中的共性的抽取到父类中的过程。

  特化:子类拓展父类,形成自己特有的东西。

  Object类是所有类的间接父类,只是隐藏了不显示而已。

    class Peoper{}   等价于  class Peoper extends Object{}

  java不支持多继承,一个类只能有一个直接父类。

  方法或字段是否被继承:

    private修饰的方法和字段都不能被继承;

    public修饰的方法和字段可以被继承;

    protected修饰的方法和字段可以被继承;

    默认修饰的方法字段只能在同一包下的类继承;

    构造方法不能被继承!

    若一个类所有的构造方法都申明为私有,则此类不可被继承!

  子类实例化:

    会先将父类的初始化,再初始化自己。

    子类构造方法中有一个隐式的super()用于初始化父类,子类初始化时调用。

    如果我们显示的调用含参的super(参数列表),则不会再调用无参的super()了。

    super();必须在子类构造方法中第一行调用!

  super  VS   this

    super和this使用上差不多,super用于调用父类的方法或字段,this用于调用子类的方法或字段。

    super用于子类中。

    super()和this()不能同时出现在一个构造方法中,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同    的语句。

    this()super()都指的是对象,所以,均不可以在static环境中使用

原文地址:https://www.cnblogs.com/liang530/p/3660340.html