在下面的代码中,我可以说class B
重载了add
方法吗?
class A
{
public void add()
{
//some code
}
}
class B extends A
{
public void add(int a)
{
// some code
}
}
答案 0 :(得分:3)
Nods的
是的,这是方法重载的一个例子。方法重写的一个例子是,
class B extends A{
@Override
public void add(){
// do stuff
}
}
答案 1 :(得分:2)
从B
公开的API的角度来看,add
方法已经存在,即使由超类提供也是如此。由于您使用不同的参数提供另一个add
方法,因此这会重载。提供相同的签名本来就是最重要的。
答案 2 :(得分:1)
是的,这是方法重载。
答案 3 :(得分:0)
是的,您可以说班级B
已经重载了方法add()
。由于继承,因为public void add()
已存在于B类中。创建一个具有相同名称但不同签名(即参数的数量,类型和顺序)的方法正在重载。
答案 4 :(得分:0)
是。考虑这个更简单的重载示例:
class A
{
public void add()
{
//some code
}
public void add(int a)
{
//this method is overloading add() from within its own class
}
}
现在,由于B,在您的示例代码中扩展了A,它继承了add(),因此可以肯定地说,即使在B中没有显式定义add(),该方法也可用,因此定义add(int a)可以考虑重载add()