A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘小峰 黑马帝   /  2011-12-27 14:33  /  1940 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 流氓l老醯 于 2011-12-27 16:44 编辑

如果一个java基类拥有某个已被多次重载的方法名称,那么在导出类中重新定义该方法名称,是否会屏蔽其基类中的某个版本;重载机制还能不能正常工作{:soso_e132:}

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

3 个回复

倒序浏览
导出类--是子类的意思吧?!
  1. class Person
  2. {
  3.         void print(int i)
  4.         {
  5.                 System.out.println(i);
  6.         }       
  7.         void print(int i,int j)
  8.         {
  9.                 System.out.println(i+j);
  10.         }       
  11. }

  12. class Student extends Person
  13. {
  14.         public void print(int i,int j)
  15.         {
  16.                 System.out.println(i-j);
  17.         }       
  18. }
  19. class Test
  20. {
  21.         public static void main(String [] args) throws Exception
  22.         {
  23.                 Student s = new Student();
  24.                 s.print(8,5);//输出:3
  25.                 s.print(0);//输出:0
  26.   }
  27. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

回复 使用道具 举报
重载机制是能正常工作的,如果子类覆盖了父类中的这个方法,用子类对象的引用调用该方法,会执行子类的这个方法,用父类对象的引用调用该方法会执行父类的方法,或者是父类的引用指向子类的对象,这是就多态了,编译要看左边,运行就要看右边了,意思就是如果父类中有该方法,编译通过,运行时却走的是子类的方法代码

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

回复 使用道具 举报
什么是导出类
同楼上,如果是子类的意思的话
看子类中方法与父类中方法的参数列表(参数的个数,类型)是否相同,若相同就是方法的覆写,也就是屏蔽掉了原来的方法,若方法的参数列表不同,构成方法的重载,重载机制正常工作

评分

参与人数 1技术分 +1 收起 理由
杨强 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马