Java中重载和重写的区别
这两个知识的用处各不同,初学者容易混淆。
首先,要弄清楚何为重载。方法名相同,参数列表不同的方法,这两个要素要谨记,参数列表不同即参数数据类型、参数数量、参数排列顺序不同。
如:void print(int age,String name)和void print(String name,int age)
。
重写就是发生在父类和子类关系的类中,子类定义了与父类的完全相同的方法,只是方法体不同。注意定义中提到了继承(父类、子类)。所以,还有一个不同之处就是重写不在同一个类中,而重载在同一个类中发生。
如:
父类:
public class Animal{
String name;
public void eat(){
System.out.println("动物具有吃的能力");
}
}
子类:
public class Cat extends Animal{
public void eat(){
System.out.println("猫喜欢吃鱼");
}
}
`