重写,重载,super,this,继承

重写:overwrite/override

  子类根据需要对从基类继承来的方法进行重写。

  重写方法必须与被重写方法有相同的方法名,参数列表和返回类型。

  重写方法不能使用比被重写方法更严格的访问权限。

重载:overload

  一个类里,相同的方法名,参数列表不同,根据传入的参数列表来觉得调用哪个方法。

  参数列表必须不同:

    参数个数不同或者参数类型不同。

  只有返回值不同不能构成重载。因为“有返回值,但可以不用”,导致编译器无法识别到底用哪个。

  int和short可以作为区分,即可以重载。

  参数类型不同或者个数不同。

子类调用基类方法:super

子类调用自身:this 

  this(argument_list),调用自身构造方法。

继承

  子类的构造过程必须调用基类的构造方法。

  子类可以在自己的构造方法中使用super(argument_list)调用基类的构造方法。

  子类还可以使用this(argument_list)调用本类另外的构造方法(重载)。

  如果调用super,必须写在子类构造方法的第一行。

  子类的构造方法中没有显示的调用基类构造方法时,系统默认调用基类无参构造方法。若基类没有无参构造方法,则编译出错。

构造函数执行顺序:

  class A {A(){...}}

  public B extends A {

    B(){...}

    public static void main(String[] args){

      B b = new B();

    }

  }

  从main开始,按顺序执行,遇到类的实例化,即B b = new B(),开始执行构造函数,但首先执行的是基类,即A类的构造函数A(),然后才是B()。

object类:

  object类是所有类的根基类。

  没有基类的类,默认继承object类。

 

posted on 2016-12-28 09:41  zawjdbb  阅读(112)  评论(0编辑  收藏  举报

导航