java 中的override & overload 比较
2012-11-01 10:38
218 查看
java 中的override & overload 比较
很久没看Java,忘记override和overload的区别了。百度了一下,把一个小弟的文章抄下来,备用。方法的重写(Overiding)和重载(Overloading)是Java多态性的不同的表现。
Overriding是父类与子类之间多态性的一种表现;
Overloading是一个类中多态性的一种表现。
Overriding:在子类中定义某个方法与其父类有相同的名称和参数;子类的对象使用这个方法时,将调用子类中的定义。
对它而言,父类中的定义如同被“屏蔽”了。
Overloading:在一个类中定义了多个同名的方法,它们或有不同的参数或有不同的参数类型或有不同的参数次序;不能通过访问权限、返回类型、抛出的异常进行重载。
Overiding:
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类更多的异常(子类可以不抛出异常)。
4、存在于父类与子类之间。
5、方法被定义为final不能被重写。
Overloading:
1、参数类型、个数、顺序至少有一个不相同。
2、不能重载只返回值不同的方法名。
3、存在于父类和子类、同类中。
相关文章推荐
- 每天一到面试题 - 1 - Java - Override & Overload
- Thinking in java-17 重载和重写Overload & Override
- 他山之石__java中内存分配策略 & 堆和栈的比较 & String类的特殊之处
- c#与java之比较(转自Jack.Wang's home)
- Java的重载(Overload)与重写(Override)
- java中overload、override、overwrite区别
- java关于函数重载(overload)和函数覆盖(override)区别
- Java中overload和override的那些事
- Java:Override 和 Overload 解惑
- PHP和JAVA中的重载(overload)和覆盖(override)
- 关于java中override 与 overload
- java基础-------重载(Overload)和重写的区别(Override)
- 关于C#和C++的重载(Overload)、隐藏(Hide)、覆盖(Override)几个区别比较和得出的疑问
- Java使用"指针"快速比较字节
- java override、overload
- 【JAVA重载(overload)和覆盖(override)中的陷阱】
- java是否允许返回值类型不同的重载overload或者覆盖override
- java中的overload,override
- java多态性Overload和Override的区别
- Java 中重写(Override)与重载(Overload)详解