重载和覆盖的区别
如果在子类中定队了一个和父类方法名,返回值类型相同,而参数列表不同的方法程序编译通过。而此时子类中有两个eat方法
public void eat(int a){//自定义public void eat()/继承父类的这两个方法不再是方法的覆盖,而是方法的重载,所以在运行的时候,根据实际参数决定调用哪一个方法。
程序运行结果是
-eat()-
-sleep()-
如果在子类中定队了一个和父类方法名,返回值类型相同,而参数列表不同的方法程序编译通过。而此时子类中有两个eat方法
public void eat(int a){//自定义public void eat()/继承父类的这两个方法不再是方法的覆盖,而是方法的重载,所以在运行的时候,根据实际参数决定调用哪一个方法。
程序运行结果是
-eat()-
-sleep()-