Java中方法的重载与方法的覆盖

Java中方法的重载(Overload)

项目中,有时候为了使代码更加的优雅,方法名为了统一好记,可以使用Java的重载方法。

方法重载(Overload)的条件

  • 方法重载只出现在同一个类中
  • 方法名称相同
  • 方法参数列表不同(参数类型、个数、顺序至少有一个不同)
  • 方法的返回类型可以不同,因为方法重载和返回类型没有任何关系
  • 方法的修饰符可以不同,因为方法重载和修饰符没有任何关系

例如:

	public String getName(Long id) {
		return workYear;			
	}

	public String getName(String name) {
		return workYear;			
	}

Java中方法的覆盖(Override)

方法的覆盖(Override)的条件:

  • 必须要有继承关系,即覆盖指的是子类对超类的某个方法进行重写
  • 覆盖只能出现在子类中,如果没有继承关系,不存在覆盖,只存在重载
  • 在子类中被覆盖的方法,必须和父类中的方法完全一样,也就是方法名,返回类型、参数列表,完全一样
  • 父类的私有方法不能覆盖
  • 覆盖是针对成员方法,而非属性
  • 子类方法的访问权限不能小于父类方法的访问权限
  • 子类方法不能抛出比父类方法更多的异常,但可以抛出父类方法异常的子异常
  • 父类的静态方法不能被子类覆盖,静态方法处理的时候,访问权限发生错误也会提示覆盖

为什么需要覆盖
就是当父类方法不满足子类使用时,就需要改变父类的行为。

写博客是为了记住自己容易忘记的东西,另外也是对自己工作的总结,希望尽自己的努力,做到更好,大家一起努力进步!

如果有什么问题,欢迎大家一起探讨,代码如有问题,欢迎各位大神指正!

给自己的梦想添加一双翅膀,让它可以在天空中自由自在的飞翔!

猜你喜欢

转载自blog.csdn.net/smilehappiness/article/details/105620924