Java学习总结之方法重载和方法重写

在学习方法的阶段我学习了方法重载(Overload),而在学习面向对象三大特性之继承的时候我又学习了方法重写(Override)。ide

 

概念:

方法重载:在同一个类中,容许存在一个以上的同名方法,只要它们的参数个数不一样或者类型不一样便可。学习

方法重写: 子类中出现和父类中如出一辙的方法声明,方法的名称和参数列表都相同。spa

 

特色:

方法重载:与返回值类型无关,只看方法名和参数列表 在调用时,虚拟机经过参数列表的不一样来区分同名方法。对象

方法重写 建立子类对象时方法名相同就调用子类的。继承

 

 

使用场景:

方法重载:在同一个类须要定义两个或者多个方法,方法功能类似但参数类型不一样时,使用方法重载使方法名相同。ci

方法重写:当子类须要父类的功能,而功能主体子类又有本身特有的功能时,能够重写父类的方法。这样即沿袭了父类的功能,也定义了子类特有的功能(使用super关键字)权限控制

 

 

注意事项:

方法重载:虚拟机

  方法重载参数列表的不一样能够分为:1、参数个数不一样;  2、参数类型不一样,  3、参数的多类型顺序不一样。table

  举例:一、  (int a, int b)       (int a, int b, int c)class

     二、  (int a, int b)      (double a, doule b) 

     三、  (int a, doule b)     (doulbe a, int b)

方法重写:

  一、父类的私有方法不能被子类重写。

  二、子类重写父类的方法访问权限不能更低(Java 中一共有四种访问权限控制,其权限控制的大小状况是这样的:public  >  protected  >  default  >  private )。

权限修饰符

 

public

protected

default

private

同一类中

 √

 √

 √

同一包子类,其余类

 √

 √

 √

 

不一样包 子类

 √

 √

 

 

不一样包 其余类

 √

 

 

 

  三、子类方法的返回值必须小于等于父类方法的返回值范围。

  四、静态的方法也要使用静态方式书写。

相关文章
相关标签/搜索