第一节:重写(new)覆写(overwrite)和重载(overload)

Posted chenze-index

tags:

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

一丶重写<NEW>

子类重写父类方法,方法里加new,
eg: public new void CommonMethord1(string msg){}

子类继承父类中的普通方法,如果在子类中重写了一个和父类中完全相同的方法,子类中会报警告(问是否显式的隐藏父类的中的方法),如果在子类中的方法前加上new关键字,则警告消失

技术分享图片

 

二丶覆写(override)

含义:在子类中,继承的父类中的抽象方法(abstract)和虚方法(virtual);  父类中虚方法(virtual)子类可以对其进行覆写, 而父类中的抽象方法(abstract),子类中必须被覆写

    抽象方法:没有方法体,子类必须覆写

    虚方法:必须有方法体,子类可以对其进行覆写,也可以不进行覆写

三丶重载(overload)

在 同一个类中,具有同名的方法,且与参数个数,访问修饰符,返回值类型无关

 

重写就是再写一遍,重载就是再多一个。重写:父类里有,子类再照猫画虎写一个。重载:自己类里面有,觉得不够再写一个。

 


以上是关于第一节:重写(new)覆写(overwrite)和重载(overload)的主要内容,如果未能解决你的问题,请参考以下文章

重写(overwrite)重载(overload)和覆盖(override)三者之间的区别

请问重载overload,覆盖override,重写overwrite,这三者之间有啥区别呢?

覆写(Override)和重载(Overload)的比较

JAVA中继承时方法的重载(overload)与重写/覆写(override)

java:放入Set中的对象一定要重写hashCode()和equals()吗?

为啥子类重写父类的方法的访问修饰符,不能低于父类的方法访问权限?