重载和重写的区别

Posted jijijijibeibeibei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了重载和重写的区别相关的知识,希望对你有一定的参考价值。

方法重载(静态多态)
发生在同一个类中
方法名相同 参数不同 与返回值无关
会根据参数的不同调用对应的方法

方法重写(动态多态)
发生在有继承关系的两个类中
方法原型完全相同
子类对象调用此方法的时候,
总是会调用子类中的这个方法,
父类的那个会被隐藏

// 父类的引用指向了自己的子类实例
Employee emp = new Manager();
// 父类引用决定能干什么 子类对象决定怎么干
// emp.show("");
emp.show();

// 用来判断某一个引用中存放的实例是否是某一个类的实例
if(p1 instanceof Dog){
// 强制类型转换
Dog dog = (Dog)p1;
dog.guardEntrance();

}if else(p2 instanceof Cat){

Cat cat = (Cat)p2;
cat.huntMice();

}else{
System.out.println("这只是一个宠物");
}

以上是关于重载和重写的区别的主要内容,如果未能解决你的问题,请参考以下文章

重载和重写有啥区别

请简述重载和重写的区别

请简述重载和重写的区别

重载与重写区别?

java 重载和重写的区别

重载和重写有啥区别