Java 重写(Override)与重载(Overload)的区别


重写(Override)与重载(Overload)

相同点

方法名都是一样的

重写(Override)

关系到两个类:子类,父类
当父类中有一个方法不合你的心意的时候,你可以重新编写这个方法
但是!
只能重写这个方法的过程!返回值和形参都不能变!

比如说

这里有一个类

public class Father {

	public void Test01(){
	
		System.out.println("瞎写的");
	
	}


}

我觉得这个类的方法写得不行
我建了一个类继承他,这样他就是我的父类了,我就能重写他的方法

public class Son extends Father{
	
	public void Test01(){
	
		System.out.println("不能瞎写");
	
	}

}

重载(Overload)

在一个类下定义了多个方法名相同,而他们的参数不同
调用的时候,根据所提供的的参数类型,来决定调用的方法是哪一个
比如说,我这里有一个类

public class School {

	public void Student(){
	
		System.out.println("我叫张三");
	
	}
	
	public void Student(int num){
	
		System.out.println("我叫李四");
	
	}


}

好比一个学校,学校里都是学生,那你要怎么找到某一个学生呢,那就通过甲方传过来的要求来找
像上面这段代码,当我调用的方法没有参数的时候,则调用第一个Student()
而当我调用的方法有参数的时候,则使用第二个Student(int num)

这就是方法的重载

有一张图我觉得很形象,在下面贴出来看一下吧
image

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/280935.html

(0)
上一篇 2022年8月16日 20:40
下一篇 2022年8月16日

相关推荐

发表回复

登录后才能评论