栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java语言中方法重载与方法重写的区别(java方法重写与方法重载的区别)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java语言中方法重载与方法重写的区别(java方法重写与方法重载的区别)

方法重载(OverLoad)

基本介绍
java 中允许同一个类中,多个同名方法的存在,但要求形参列表 不一致,返回类型无要求

好处:
1、减轻了起名的麻烦
2、减轻了记名的麻烦

入门案例:
案例:类:MyCalculator 方法:calculate

    calculate(int n1, int n2) //两个整数的和calculate(int n1, double n2) //一个整数,一个 double 的和calculate(double n2, int n1)//一个 double ,一个 Int 和calculate(int n1, int n2,int n3)//三个 int 的
基本介绍和使用细节
    方法名必须相同形参列表必须不同(形参类型,个数或顺序,至少一样不同)返回类型无要求

案例判断:

如下两个方法并没有构成方法的重载。形参类型,个数,顺序都一样,返回类型无要求,是方法的重复定义,会报错。

public int calculate(int n1, int n2) {
	return n1 + n2;
}

 public void calculate(int n1, int n2) {
 	int res = n1 + n2;
 }

方法的重写/覆盖(OverLoad)

-方法的重写就是子类有一个方法和父类的某个方法的名称、返回类型、形参列表都一样,那么就说子类的这个方法覆盖了父类的方法。重写必须依赖于继承,将父类的方法完善。

好处:
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。 注意事项和使用细节

    子类重写方法的形参列表,方法名称要和父类方法的一样返回类型:子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类访问权限:子类重写方法不能缩小父类方法的访问权限(public>protected>默认>private)

代码演示:

public class Animal {//父类
	public void cry() {
		System.out.println("动物叫唤..");
	}
	public Object m1() {
		return null;
	}
	public String m2() {
		return null;
	}
	public AAA m3() {
		return null;
	}
	protected void eat() {
	}

}

class Dog extends Animal{//子类
	//重写父类cry()
	public void cry() {
		System.out.println("小狗汪汪叫..");
	}
 	//String为Objiect子类,也构成重写
	public String m1() {
		return null;
	}
//这里 Object 不是 String 的子类,因此编译错误
// public Object m2() {
// 		return null;
// }

//细节: 子类方法不能缩小父类方法的访问权限 
//public > protected > 默认>private
	public void eat() {
	}
}

最后在比较一下两者的异同

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/773258.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号