常见面试题之Overload和Override的区别
2015-06-09 10:06
387 查看
Overload:顾名思义,就是Over(重新)——load(加载),所以中文名称是重载。它可以表现类的多态性,可以是函数里面可以有相同的函数名但是参数名、返回值、类型不能相同;或者说可以改变参数、类型、返回值但是函数名字依然不变。
Override:就是ride(重写)的意思,在子类继承父类的时候子类中可以定义某方法与其父类有相同的名称和参数,当子类在调用这一函数时自动调用子类的方法,而父类相当于被覆盖(重写)了。
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
Override:就是ride(重写)的意思,在子类继承父类的时候子类中可以定义某方法与其父类有相同的名称和参数,当子类在调用这一函数时自动调用子类的方法,而父类相当于被覆盖(重写)了。
方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。
相关文章推荐
- 黑马程序员 安卓基础学习笔记 按钮
- 程序员保值的4个秘密
- 黑马程序员——Foundation框架——常用结构体以及NSString相关
- 思考-关于职场
- 黑马程序员 - 技术 blog15 之 反射 by 八戒
- 黑马程序员_多线程间通信
- 51sap SD模块面试问题相关热门问题总结
- 黑马程序员_多线程(死锁)
- 黑马程序员--Java基础Day06
- 10+年程序员总结的20+条经验教训
- 为什么世界上一些最好的科学家和程序员,在世人眼里,都有点不太正常,甚至行为混乱
- 黑马程序员————多态、抽象类、接口简述
- 面试
- 面试算法java方式实现打印金字塔三角形
- Java集合框架面试问题集锦
- 黑马程序员-两种容易混淆的指针及构造方法的执行过程分析
- 黑马程序员——Java基础---IO流<实例>
- 程序员如何提高影响力
- 也谈谈程序员职业规划的几个问题:我的一些故事
- 余波:技术人员如何走出职业迷茫