构造方法和方法的重载和重写

构造方法

注:默认的构造方法的访问权限是跟随class的访问权限,

  如果编写一个构造方法,既没有调用 super() 也没有调用 this(),编译器会自动插入一个调用到父类构造方法中,而且不带参数。

super关键字的用法

  • 调用父类构造方法

  • 调用父类的方法

 

值得注意的是:

  • super()必须放在构造方法的最顶端。

  • 不能在构造方法以外的任何方法内调用构造方法。

 

方法的重写(覆盖)、与重载

方法重写的原则:

  • 重写方法在写法上与原方法大致相同,但访问权限不允许缩小

  • 被static、final、private修饰的方法不能被重写(静态绑定)

Java方法重载

​ 注:子类可以重载父类的方法,静态方法可以被重载

特别说明:Java父类和子类中的方法都会参与重载,例如,父类中有一个方法是 func(){ ... },子类中有一个方法是 func(int i){ ... },就构成了方法的重载。

重写和重载的不同:

  • 方法重写要求参数列表必须一致,而方法重载要求参数列表必须不一致。

  • 方法重写要求返回类型必须一致,方法重载对此没有要求。

  • 面向的方法-> 方法重写只能用于子类覆盖父类的方法,方法重载用于同一个类中的所有方法(包括从父类中继承而来的方法)。

  • 方法重写对方法的访问权限和抛出的异常有特殊的要求,而方法重载在这方面没有任何限制。

  • 父类的一个方法只能被子类重写一次,而一个方法可以在所有的类中可以被重载多次。

posted @ 2018-08-03 17:19  tank的个人博客  阅读(2723)  评论(0编辑  收藏  举报