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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 周斌 中级黑马   /  2012-11-5 18:39  /  1371 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  1. <P>public class Upton {
  2. public static void main(String[] args)
  3. {
  4.   public void amethod(int i)
  5.   {}
  6.   public void amethod(int z)
  7.   {}
  8. }
  9. }
  10. </P>
复制代码
上面的一段程序为什么无法通过编译呢~?

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

5 个回复

倒序浏览
在同一个类中,允许存在一个以上的同名函数,但是它们的参数个数或参数类型不同才可以。
但是你的参数是一样的,虚以机,不知道该调用哪一个。所以错误

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

回复 使用道具 举报
首先,覆盖是子类继承父类的时候,把父类的方法重写,这叫覆盖,哪有一个类就有覆盖这个概念的。

你这个程序明显不对,方法的参数都一样,那么进来以后程序该往那边走呢?就像一个分岔道,左边写着“男性请往这边走” 右边也写着”男性请往这边走“,那该往哪走呢?

另外说下,同一个类里方法可以重载 ---》录入的参数不同走不同的路线。

嘛 就是这样

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
金曦 发表于 2012-11-5 18:54
在同一个类中,允许存在一个以上的同名函数,但是它们的参数个数或参数类型不同才可以。
但是你的参数是一 ...

谢谢                          
回复 使用道具 举报
覆盖(重写):父子类关系才可以,子类继承父类后,子类里的函数(方法)可以重写父类中的函数,前题是子类中重写的函数定义(函数名、权限、参数、静态或非静态)必须和父类中的函数定义一模一样才行。
同一个类中的函数只可以重载(参数类型或参数个数不同的情况下)。

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 赞一个!

查看全部评分

回复 使用道具 举报
朱宏青 发表于 2012-11-5 19:01
首先,覆盖是子类继承父类的时候,把父类的方法重写,这叫覆盖,哪有一个类就有覆盖这个概念的。

你这个程 ...

呵呵,这个解释很给力啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马