重载覆盖和隐藏的区别?

时间:01-18人气:28作者:树红树绿

重载、覆盖和隐藏是面向对象编程中不同的概念。重载指同一个类中多个方法同名但参数不同;覆盖指子类重写父类方法,方法签名完全相同;隐藏指子类隐藏父类静态方法或变量,方法名相同但参数不同。

区别

重载:同一个类中定义多个同名方法,但参数个数或类型不同。编译器根据调用时的参数选择合适的方法。例如,计算面积的方法可以接收长方形或圆形参数,调用时自动匹配。重载与返回值类型无关,只看参数。

覆盖:子类重新定义父类的实例方法,方法名、参数、返回值必须完全相同。子类对象调用该方法时执行子类版本,实现多态。覆盖只针对实例方法,静态方法不能覆盖。例如,父类定义"发声"方法,子类"猫"和"狗"分别实现不同叫声。

注意:本站部分文字内容、图片由网友投稿,如侵权请联系删除,联系邮箱:happy56812@qq.com

相关文章
本类推荐
本类排行