1

所以我似乎无法理解重载的问题。我知道这是由共享相同参数的构造函数引起的;但这是否必须完全相同,或者如果它们共享一个公共参数,或者如果一个具有三个参数但与另一个共享两个参数,是否会发生过载?

4

2 回答 2

2

不知道你在这里问什么。

但是重载不仅适用于构造函数。这也适用于其他方法。

这是规则(我的)。您可以具有相同的方法名称,但参数应该不同。

示例:构造函数重载

public Car()
{
}
private Car(int speed, int maxSpeed)
{
//...
}
public Car(String make, String model)
{
//...
}

这是超载。

但是对于上述构造函数,下面是非法的。

public Car(String color, String make)
{
//...
}

因为 JVM 无法区分 (String make, String model) & (String color, String make) 构造函数。因此规则是,参数应该不同(类型和/或参数数量)。

再次记住:

public void printNames(String name1, String name2)
public void printNames(String x, String y)

这不是重载,甚至编译器也不会让你这样做。

于 2013-06-17T16:24:36.107 回答
2

一个 java 类可以包含两个或多个同名的方法,前提是这些方法接受不同的参数。这就是所谓的重载。创建重载方法时,每个方法都必须具有唯一的签名。

于 2013-06-17T15:26:47.820 回答