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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一直很安静 中级黑马   /  2013-11-14 09:57  /  1520 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

override overloa怎样讲读到的见解?
public void method(int  … x)和public void method(int[] x)有关系吗?它们可以出现在同一个类中吗?是重载还是复写?

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

5 个回复

倒序浏览
override是重写(覆盖),是指在子类当中可以包含名称和参数列表和父类中方法完全一样的函数,当使用子类对象创建实例对象调用该方法时,调用的是子类中定义的方法,而不是父类中的方法,这体现了面向对象的多态特性。覆盖时需要注意抛出的异常不能比父类方法多,访问权限不能比父类方法小,如果父类中的方法为private的那么,子类中就不存在覆盖,而是在子类中定义了一个新的方法。
overload是重载,是指在同一个类中可以有多个名称相同的函数,但是他们的参数列表不一样(参数类型或者参数个数),是否是重载的唯一标示就是参数列表。
void mm(String ... mm),多参数实际上底层的实现原理就是数组所以他和void mm(String[] mm)的参数列表是一样的,所以不构成重载。实际上判断重载你可以把你自己当成虚拟机,看看你能不能分辨出具体调用哪个方法?如果可以,重载,如果不可以那么不构成重载。

希望对你有帮助。

评分

参与人数 1技术分 +1 收起 理由
黄炳期 + 1

查看全部评分

回复 使用道具 举报
重载的话是出现在同一个类中,重载的条件:跟返回值类型无关,只看参数列表中的参数类型和个数。
以下情况就是重载。
  1. class Fu{
  2.         
  3.         public void show()
  4.         {
  5.                
  6.         }
  7.         
  8.         public int show(int a)
  9.         {
  10.                         return a;
  11.                
  12.         }
  13.         public int show(int a,int b)
  14.         {
  15.                 return a;
  16.         }
  17. }
复制代码
重写的前提条件是,必须实现继承或者实现接口。而且 子父类方法必须一模一样。

总结:
1.要实现方法的重写,必须存在继承关系。
*           2.如果父类使用private 将变量或函数私有化,子类是无法继承的,也就不存在重写。
*           3.子类覆盖父类中的方法,必须保证子类权限大于或等于父类权限,否则编译失败。
*           4.静态只能覆盖静态,原因:static随着类的加载而加载,也就是先进内存,实例方法通过new 才进内存。不能覆盖还不存在的东西。
         
          重载:只看同名函数的参数列表。
          重写:子父类方法要一模一样。
回复 使用道具 举报
如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
回复 使用道具 举报
一直很安静 来自手机 中级黑马 2013-11-14 14:01:31
报纸
linjl_ll 发表于 2013-11-14 10:10
override是重写(覆盖),是指在子类当中可以包含名称和参数列表和父类中方法完全一样的函数,当使用子类对 ...

那这两个可以出现在同一个类中吗?是覆盖吗?
回复 使用道具 举报
一直很安静 发表于 2013-11-14 14:01
那这两个可以出现在同一个类中吗?是覆盖吗?

可以啊!看下面的例子
class super{
   public void mm(){}
}
class Zi extends Super{

   public void mm(){system.out.println("aa")};//这个函数时覆盖
public void mm(int a){system.out.println("aa="+a)}//这个函数时重载上行的函数,重载是在同一个类中。
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马