java学习到继承,老师问到重载和重写的区别。弄懂了之后来整理下。我们从代码来看他们的区别。
public abstract class ceshi {
public void chongxie() {
System.out.println("我是重写");
}
}
public class ceshi1 extends ceshi
{
@Override
public void chongxie() {
System.out.println("我被重写了");
}
public String ceshi1(String a) {
System.out.println("我是重载");
return a;
}
public int ceshi1(int a) {
System.out.println("我被重载了");
return 0;
}
从上面我们可以看出ceshi类里的chongxie的方法被ceshi的子类给重写了,他们的方法名一样,返回类型一样,参数列表一样,方法体不一样。
我们对ceshi1的构造方法进行重载,对比两个ceshi1可以看出,方名一样,返回类型不一样,参数列表不一样,方法体不一样。并且重载的载一个类里面。
我们这样就可以给出重写和重载的定义。
重写 对父类的方法进行重新编写,重写的方法和父类被重写的方法的方法名一样,返回类型一样,参数列表一样,方法体不一样。 重载 载一个类里面,对方方进行修改,方法名不变参数列表不同。 区别 从上我们可以看出重载和重写的区别 1.重写在子类中进行,而重载在一个类里面进行。 2.重写的参数列表一样,而重载的参数列表会不一样。 扩展 1.在方法上面有@Override该方法就是被重写的方法 2.重载和重写都体现了面向对象的特点多态。


