黑马程序员技术交流社区

标题: 关于重载? [打印本页]

作者: lovecx24    时间: 2013-11-30 17:41
标题: 关于重载?
java 中在继承环境下 子类可以重载父类中的方法吗???在子类中有一个方法与父类中的某个方法 拥有相同的方法名 但是参数列表不一样,这样到底算什么?


作者: 容嬷嬷当年也是    时间: 2013-11-30 17:49
首先,我先纠正你一个概念性的东西,就是在java中没有子类重载父类方法的概念。重载的定义,在同一个类中,方法名相同,参数列表不同,与返回值无关。所以只有子类重写父类的方法,没有子类重载父类,这个你要记住。
你提出这个问题,主要还是因为你没有弄清java三大特性之一的继承概念,同时呢,还反映出你代码敲的太少,仅仅是从概念上抠字眼儿而已,缺乏形象上的思维。
继承是一种关系的传递。若类C继承类B,类B继承类A,则类C既有从类B那里继承下来的属性与方法,也有从类A那里继承下来的属性与方法,还可以有自己新定义的属性和方法。继承来的属性和方法尽管是隐式的,但仍是类C的属性和方法。继承是在一些比较一般的类的基础上构造、建立和扩充新类的最有效的手段。
作者: 胡陈思    时间: 2013-11-30 18:14
嗯 ,首先在继承中,没有子类重载父类方法的说法,只有子类重写父类方法。
你先分析下重载与重写的概念:
重载:在一个类中,方法名一致,参数列表不同,与返回值无关的两个方法--称为重载
重写:子类继承父类后,针对父类的方法,定义一个 返回值,方法名,参数列表都一样的方法--称为重写

你所说的在子类中 ,有一个“与父类中的某个方法 拥有相同的方法名 但是参数列表不一样的方法”,
这种情况, 子类集成父类的同时,已经具有了父类的方法,再定义一个参数列表不同的方法,可以算是对父类方法的重载。

作者: L_t    时间: 2013-12-1 15:21
不是重载...重载是在一个类中.




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