很多Java初学者可能会被方法重载和方法重写给干懵了,小编觉得可能有两个原因吧,第一:这两个词语在名字上很相近,很容易混淆;第二:学生在学习重载的时候并没有完全消化掉重载的知识,紧接着又要学重写,所以就很懵。
现在小编就来帮大家解决一下这个问题
方法重载
方法重载是以统一的方式处理不同数据类型的一种手段
特点:
- 在同一个类中
- 方法名相同,参数列表不同(参数列表不同可以是参数个数、参数类型、参数顺序不同),返回值类型不做要求。
方法重写
在继承中,子类觉得父类的方法不好用,父类的方法内容并不是我们所想要的,那么这个时候就要重写我们父类的方法
class Person{
public void eat(){
System.out.println("吃饭...");
}
}
class Student extends Person{
@Override
public void eat() {
System.out.println("吃火锅...");
}
}
比如以上代码中,父类eat()吃的是饭,那么子类他不想吃饭,想吃火锅,所以我们要重写一下父类方法。
特点:
- 在继承中,子类重写父类的方法
- 除了方法体以外,返回值、方法名、参数列表(包括参数个数、参数类型、参数顺序)都要一样