面试趣闻之重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?


重载和重写都是多态性的体现,区别是重载是编译时的多态性,重写是运行时的多态性;

重载:只发生在一个类中,通过同名方法名不同参数类型或者参数个数来区分

重写:发生在父类和子类之间,重写要求子类的重写方法必须和父类被重写方法有相同的返回类型,比父类的方法更好访问,不能比父类被重写的方法声明更多的异常,而重载没有返回类型的特殊要求

重载的方法能否根据返回类型进行区分?

不可以,如果用返回类型区分 如果同一个类中public void test1(){}和publiv String test1(){return "";}(编译不通过)假如编译通过,当提出方法时 类.test1 无法识别调用的是哪个方法

 

文章摘自JAVA面试宝典


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM