我总结Java判断覆盖方法的过程

lliiqiang 2009-06-19 12:00:31
先声明:一下是我本人通过多次调试程序总结的结果。因为本人水平有限,不能保证总结的结果是正确的,只是拿出来和大家一起讨论


在编译的时候:
1检测父类中所有的与其方法名相同,参数列表相同,并且权限不是private的所有方法,并从中挑选出所在类类型最子类的方法。
2判断本类是否有权限访问第一个步骤找到的方法,如果有权限就进行第三步
3要求本方法的返回值类型是上面所说的方法子类,抛出异常必须是上面那个方法抛出的异常的子类,必须和上面的那个方法要么都是static 要么都不是static

在运行的时候某个类的某个方法的时候,如果不是static方法
检查所有子类型满足下面条件的方法:
1方法名和参数列表相同
2要求本方法的返回值类型是本方法子类,抛出异常必须是本方法抛出的异常的子类,不是static方法
3所在类有权访问本方法
然后从所有满足上面条件的子类方法中找出所在类最子类的方法运行之
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
云上飞翔 2009-06-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 lliiqiang 的帖子:]
先声明:一下是我本人通过多次调试程序总结的结果。因为本人水平有限,不能保证总结的结果是正确的,只是拿出来和大家一起讨论


在编译的时候:
1检测父类中所有的与其方法名相同,参数列表相同,并且权限不是private的所有方法,并从中挑选出所在类类型最子类的方法。
2判断本类是否有权限访问第一个步骤找到的方法,如果有权限就进行第三步
3要求本方法的返回值类型是上面所说的方法子类,抛出异常必须是上面那个方法…
[/Quote]
答:一个建议:先把真正的基础打扎实。否则依靠这样的“调试程序总结”方法,是错误比较多的。

  • 打赏
  • 举报
回复
学习
lliiqiang 2009-06-19
  • 打赏
  • 举报
回复
写错了,运行时不检查抛出异常的要求
supermax 2009-06-19
  • 打赏
  • 举报
回复
我是新手,学习些别人的经验

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧