【解决问题】打开回收站老是出现一个手电筒扫描
2009-07-04 22:32
288 查看
首先从概念上,
重载Overload:表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
覆盖Override:表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。
其次,一般的方法签名的格式如下,
方法签名:①访问权限+②返回值的类型+③方法名+④参数列表+⑤抛出的异常
具体的区别如下,
重载(overload)
发生场所:同一个类里,或者子类中
重载的两个方法之间的限制:
1.③方法名必须相同
2.④参数列表必须不同(参数的个数,类型,顺序)
3.①访问权限,②返回值的类型,⑤抛出的异常(类型,数目)都与重载无关
4.对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
覆盖(override)
发生场所:对接口方法的实现,或者在继承中子类覆盖父类的方法
覆盖的两个方法之间的限制:
1.③方法名必须相同
2.④参数列表也必须相同(参数的个数,类型,顺序)
3.②返回值的类型必须相同
4.覆盖的方法所抛出的异常
比被覆盖方法的所抛出的异常更少,或者一致,或者是其子类
5.子类方法的访问权限只能比父类的更大,不能更小。
6.被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
针对上面的比较,为了更清晰一些,列出以下表格
※1:对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
※2:被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖
参考URL:
http://blog.csdn.net/theo1016/archive/2011/01/13/6136055.aspx
重载Overload:表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
覆盖Override:表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。
其次,一般的方法签名的格式如下,
方法签名:①访问权限+②返回值的类型+③方法名+④参数列表+⑤抛出的异常
具体的区别如下,
重载(overload)
发生场所:同一个类里,或者子类中
重载的两个方法之间的限制:
1.③方法名必须相同
2.④参数列表必须不同(参数的个数,类型,顺序)
3.①访问权限,②返回值的类型,⑤抛出的异常(类型,数目)都与重载无关
4.对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。
覆盖(override)
发生场所:对接口方法的实现,或者在继承中子类覆盖父类的方法
覆盖的两个方法之间的限制:
1.③方法名必须相同
2.④参数列表也必须相同(参数的个数,类型,顺序)
3.②返回值的类型必须相同
4.覆盖的方法所抛出的异常
比被覆盖方法的所抛出的异常更少,或者一致,或者是其子类
5.子类方法的访问权限只能比父类的更大,不能更小。
6.被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
针对上面的比较,为了更清晰一些,列出以下表格
发生场所 | ①访问权限 | ②返回值类型 | ③方法名 | ④参数列表 | ⑤抛出的异常 | |
重载(overload) | 同一个类里,或者子类中 | 与重载无关 ※1 | 与重载无关 | 必须相同 | 必须不同 | 与重载无关 |
覆盖(override) | 对接口方法的实现,或者在继承中子类覆盖父类的方法 | 只能比父类的更大,不能更小 ※2 | 必须相同 | 必须相同 | 必须相同 | 抛出的异常更少,或者一致,或者是其子类 |
※2:被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖
参考URL:
http://blog.csdn.net/theo1016/archive/2011/01/13/6136055.aspx
相关文章推荐
- 在一个java论坛解决一个打开JSP出现下载的问题
- 通过freemarker生成一个word,解决生成的word用wps打开有问题的问题,解决出word时中文文件名乱码问题,解决打开出word时打开的word出现问题的问题,出图片,解决动态列表
- 解决VC++6.0启动_【打开文件】_对话框时出现的“0x5003eaed”问题!!!
- .net问题:每次打开.net2003就会出现一个安装程序界面,每次都如此,请问是怎么回事啊??
- 重新打开Eclipse出现java.lang.NullPointerException的问题解决
- png库结合zlib库使用出现的一个链接问题的解决
- 打开Office时出现“运行时错误91”问题的解决办法
- Android之通过VideoView控件播放一个视频出现的问题以及我的解决办法
- 在url中传递汉字到另外一个页面后,出现中文乱码的问题解决
- 打开eclipse 出现闪退问题解决方法
- linux下开发,解决cocos2d-x中编译出现的一个小问题, undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
- asp中 打开网页时出现“操作必须使用一个可更新的查询”原因及解决办法
- GSOAP 在一个客户端内调用多个服务出现的问题解决
- 解决“每次打开office2010的word都会出现配置进度框”问题
- 打开页面时出现"Automation 服务器不能创建对象"问题的解决方法
- 关于IIS6.0配置网站打开出现空白问题解决方法
- 如何解决打开一个DBF数据表时出现的“Index not Found…”错误(摘)
- C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件。 ”的解决
- ubuntu系统下gedit 打开GBK字符集编码文件出现乱码问题解决办法
- 一个页面放2段图片滚动代码出现冲突的问题如何解决