黑马程序员技术交流社区

标题: Dsip是否函数重载,还是函数重写? [打印本页]

作者: 彭小康    时间: 2012-12-10 20:07
标题: Dsip是否函数重载,还是函数重写?
class A {
  public void Disp(String i)
  {     }  public void Disp(int i)  
{     }
}  
class B extends A
{  public void Disp(float c)  
{     }
}
如上述结构、感到很模糊、分不清。。
作者: 但汉涛    时间: 2012-12-10 20:21
override(重写)
1、方法名、参数、返回值相同。
2、子类方法不能缩小父类方法的访问权限。
3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
4、存在于父类和子类之间。
5、方法被定义为final不能被重写。
overload(重载)
1、参数类型、个数、顺序至少有一个不相同。  
2、不能重载只有返回值不同的方法名。
3、存在于父类和子类、同类中。

上面的Disp参数类型不同,所以是重载~~~
作者: 赵保磊    时间: 2012-12-10 20:28
重载和重写的区别:
方法重载:
1、方法名相同,参数个数相同
2、方法名相同,参数个数相同,但是参数类型不同

方法重写:
父类中有的方法,子类进行了扩展,在继承父类方法的基础上,进行方法扩展。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2