Java 重载方法的帮助
我已经创建了一个名为Times的类,我必须构造4个重载方法。我只是想了解一些重载方法的帮助,至少对第一个方法有一些帮助。我会非常感激的。谢谢:)Java 重载方法的帮助,java,overloading,Java,Overloading,我已经创建了一个名为Times的类,我必须构造4个重载方法。我只是想了解一些重载方法的帮助,至少对第一个方法有一些帮助。我会非常感激的。谢谢:) 将2个整数相乘并返回(整数)乘积 将3个整数相乘并返回(整数)乘积 将2个双倍值相乘并返回(双)乘积 将3个双倍值相乘并返回(双)乘积 它看起来像这样: public class Times { public int mult(int a, int b) { return a*b; } public int
- 将2个整数相乘并返回(整数)乘积
- 将3个整数相乘并返回(整数)乘积
- 将2个双倍值相乘并返回(双)乘积
- 将3个双倍值相乘并返回(双)乘积
- 它看起来像这样:
public class Times {
public int mult(int a, int b) {
return a*b;
}
public int mult(int a, int b, int c) {
return a*b*c;
}
//2 more overloaded versions to come here
}
至于理解它们的含义,在编译代码时,编译器通过查看参数来确定要使用哪些方法(所有方法的名称都相同)
比如像这样的事情
int a = 1;
int b = 1;
Times t = new Times();
t.mult(a,b);
编译器将选择我演示的两个mult方法中的第一个,而对于此:
int a = 1;
int b = 1;
int c = 2;
Times t = new Times();
t.mult(a,b,c);
它将选择第二个(基于参数的数量)它看起来像这样:
public class Times {
public int mult(int a, int b) {
return a*b;
}
public int mult(int a, int b, int c) {
return a*b*c;
}
//2 more overloaded versions to come here
}
至于理解它们的含义,在编译代码时,编译器通过查看参数来确定要使用哪些方法(所有方法的名称都相同)
比如像这样的事情
int a = 1;
int b = 1;
Times t = new Times();
t.mult(a,b);
编译器将选择我演示的两个mult方法中的第一个,而对于此:
int a = 1;
int b = 1;
int c = 2;
Times t = new Times();
t.mult(a,b,c);
它将选择第二个(基于参数的数量)像这样
public class Times {
public static int multiply(int a, int b) {
return a * b;
}
public static int multiply(int a, int b, in c) {
return multiply(a, b) * c;
}
public static double multiply(double a, double b) {
return a * b;
}
public static double multiply(double a, double b) {
return multiply(a, b) * c;
}
}
像这样
public class Times {
public static int multiply(int a, int b) {
return a * b;
}
public static int multiply(int a, int b, in c) {
return multiply(a, b) * c;
}
public static double multiply(double a, double b) {
return a * b;
}
public static double multiply(double a, double b) {
return multiply(a, b) * c;
}
}
“重载方法”只是意味着所有方法都具有相同的名称(并且在同一个类中)。但是,参数的数量或类型需要不同
既然都是乘法,那么“乘法”这个名字就有意义了
第一个:
将2个整数相乘并返回
(整数)积
所以它返回一个整数(一个int),名为“乘法”,取2个int作为参数,得到:
int multiply(int a, int b) {
int multiply(int a, int b) {
return a * b;
}
它返回产品,因此主体是:
return a * b;
然后我们就完成了这个:
}
这给了我们:
int multiply(int a, int b) {
int multiply(int a, int b) {
return a * b;
}
对其他方法使用相同的方法和相同的名称。“重载方法”只是意味着所有方法都具有相同的名称(并且在同一类中)。但是,参数的数量或类型需要不同
既然都是乘法,那么“乘法”这个名字就有意义了
第一个:
将2个整数相乘并返回
(整数)积
所以它返回一个整数(一个int),名为“乘法”,取2个int作为参数,得到:
int multiply(int a, int b) {
int multiply(int a, int b) {
return a * b;
}
它返回产品,因此主体是:
return a * b;
然后我们就完成了这个:
}
这给了我们:
int multiply(int a, int b) {
int multiply(int a, int b) {
return a * b;
}
对其他人使用相同的方法和相同的名称。您可以这样做
public class Times {
public static void main(String[] args) {
System.out.println(multiplyInt(1,2));
System.out.println(multiplyDoubles(2.0,3.0));
}
public static int multiplyInt(int... numbers){
int multiply = 1;
for(int number : numbers ){
multiply = multiply*number;
}
return multiply;
}
public static double multiplyDoubles(double... numbers){
double multiply = 1;
for(double number : numbers ){
multiply = multiply*number;
}
return multiply;
}
}你可以这样做
public class Times {
public static void main(String[] args) {
System.out.println(multiplyInt(1,2));
System.out.println(multiplyDoubles(2.0,3.0));
}
public static int multiplyInt(int... numbers){
int multiply = 1;
for(int number : numbers ){
multiply = multiply*number;
}
return multiply;
}
public static double multiplyDoubles(double... numbers){
double multiply = 1;
for(double number : numbers ){
multiply = multiply*number;
}
return multiply;
}
}这里您对什么是方法重载有一个温和的描述:这里您对什么是方法重载有一个温和的描述: