方法重载与重写的区别
重写和重载
重载:在同一个类里进行方法的重载
重写:在子类中进行父类方法的重写
重载和重写都需要保持方法名一致,但重载要求参数列表不同,重写要求参数列表相同
重写要求访问修饰符权限>=父类方法,重载则与访问修饰符无关
重写要求返回值类型与父类相同或者是其(返回值类型)子类,重载则与方法返回值没有关系
package com.chenlan06.overload1;
public class Pet {
String name;
/*
* public void showInfo() { System.out.println("Pet.showInfo()"); }
*/
public Pet showInfo() {
Pet pet = new Pet();
return pet;
}
//重载方法
public void showInfo(String name) {
System.out.println("我的名字是:"+this.name);
}
}
package com.chenlan06.overload1;
public class Dog extends Pet {
//重写方法返回值类型与父类一致
/*
* @Override public void showInfo() { // TODO Auto-generated method stub
* super.showInfo(); }
*/
/* 重写方法返回值类型是父类方法返回值类型Pet的子类Dog */
public Dog showInfo() {
Dog dog = new Dog();
return dog;
}
}