overload VS override
来源:互联网 发布:淘宝网家私上下架木床 编辑:程序博客网 时间:2024/06/06 09:35
文章来自:http://www.jb51.net/article/32239.htm
做了一点点修改:
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现,想要了解更多请参考本文
方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型或有不同的参数次序,则称为方法的重载(Overloading)。不能通过访问权限、返回类型、抛出的异常进行重载.
1.方法重载(overload)
概念:简单的说:方法重载就是类的同一种功能的多种实现方式,到底采用哪种方式,取决于调用者给出的参数。
注意事项:
(1)方法名相同
(2)方法的参数类型、个数、顺序不至少有一项不同
(3)方法返回类型可以不同
(4)方法的修饰符可以不同
如果只是返回类型不一样,不能够构成重载
如果只是控制访问修饰符号不一样,也是不能构成重载的
Overloaded的方法是可以改变返回值的类型。
2.方法覆盖(override)
概念:简单的说:方法覆盖就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。
注意事项:方法覆盖有很多条件,总的讲有两点一定要注意:
(1)子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名称完全一样,否则不构成覆盖。
(2) 子类方法不能缩小父类方法的访问权限(反过来是可以的)
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。
如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型或有不同的参数次序,则称为方法的重载(Overloading)。不能通过访问权限、返回类型、抛出的异常进行重载.
1.方法重载(overload)
概念:简单的说:方法重载就是类的同一种功能的多种实现方式,到底采用哪种方式,取决于调用者给出的参数。
注意事项:
(1)方法名相同
(2)方法的参数类型、个数、顺序不至少有一项不同
(3)方法返回类型可以不同
(4)方法的修饰符可以不同
如果只是返回类型不一样,不能够构成重载
如果只是控制访问修饰符号不一样,也是不能构成重载的
Overloaded的方法是可以改变返回值的类型。
2.方法覆盖(override)
概念:简单的说:方法覆盖就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。
注意事项:方法覆盖有很多条件,总的讲有两点一定要注意:
(1)子类的方法的返回类型,参数,方法名称,要和父类方法的返回类型,参数,方法名称完全一样,否则不构成覆盖。
(2) 子类方法不能缩小父类方法的访问权限(反过来是可以的)
(3):子类方法不能抛出比父类更大的Exception.
0 0
- overload VS override
- Java中的overload VS override
- 覆盖VS重载(override VS overload)
- overload,override
- overload override
- override overload
- override overload
- 新手学JAVA(七)----Override VS Overload
- overload(重载) VS override(重写、覆盖)
- overload和override
- 小析override & overload
- overload and override
- C# override overload overwrite
- Overload & Override
- overload,override,hide
- Overload和Override
- C# override overload overwrite
- OverLoad和OverRide分析
- QEMU和KVM的关系
- uva 10148(贪心)
- NSScanner扫描字符串的用法
- 拿什么应对你我的软考
- 《信息检索》第二周作业及第三周内容
- overload VS override
- php javascript mysql html css jquery ajax
- I’m stuck!
- NYOJ-不高兴的小明
- hdu 5031
- win7上memcached无法正常启动和停止
- 贝叶斯网络资料
- std list 主要函数
- 基于oSIP开源库PartySIP服务器之uClibc库的移植和配置[二]