所以我似乎无法理解重载的问题。我知道它是由共享相同参数的构造函数引起的;但这样做必须完全相同,否则如果它们共享一个共同参数会发生重载,或者如果一个参数有三个参数但是又与另一个参数共享,那么它们会发生吗?
答案 0 :(得分:2)
java类可以包含两个或多个具有相同名称的方法,前提是这些方法接受不同的参数。这称为重载。创建重载方法时,每个方法都必须具有唯一的签名。
答案 1 :(得分: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)
这不是重载,甚至编译器都不允许你这样做。