重载和重写的区别
重载:在同一个类中,有两个方法名字相同,参数不同(方法名相同,参数列表不同-------同名不同参)
重写:是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,方法体重写!(同名同参不同方法体)
代码测试如下:
主方法
public class test01 {
public static void main(String[] args) {
remethod re=new remethod();
re.reMethod();
re.reMethod("菠萝","喝菠萝汁");
}
}
重载方法
public class remethod {
int name;
int hobby;
public void reMethod(){
System.out.println("这是没有被重载的方法");
}
public void reMethod(String name,String hobby){
System.out.println("这是被重载的方法,参数列表多了两个参数");
System.out.println("名字:"+name+" 爱好:"+hobby);
}
}
结果
这是没有被重载的方法
这是被重载的方法,参数列表多了两个参数
名字:菠萝 爱好:喝菠萝汁
总结:
重写:
①当父类的方法满足不了子类的需求必须在继承关系中②方法名必须相同
③参数列表必须一致
④返回值必须一致
⑤子类方法不能比父类更严谨
重载VS重写
①重载必须在同一个类中,重写必须建立在继承关系中②方法名都相同
③重载的参数列表必须不一致,重写必须一致
④重载与返回值无关,重写返回值必须一致
⑤重载与访问修饰符无关,子类重写的方法不能比父类方法更严谨