Java方法不需要return语句来匹配它们的参数。为什么呢?
考虑这个简单的方法,它采用三个参数,x,y和z。当仅使用一个返回参数(即返回x,y或z)时,该方法有效。为什么Java不需要return x, y, z;
或类似的东西?我是Java初学者,所以也许我会了解为什么当我们达到OOP原则时。无论如何,我很好奇它背后是否存在逻辑,或者只是Java。感谢。
public static int someNumbers(int x, int y, int z) {
if (y > z) {
System.out.printf("%d is greater than %d", y, z);
} else {
System.out.printf("Number three is %d", z);
}
return x;
}
答案 0 :(得分:1)
Parameters
和Return types
之间并没有任何关系。方法可以具有0个或更多任意类型的参数。
public int someMethod(int x, String y, Object z) {
//Does something
return x * 5 - 10;
}
但它可能只有0或1个返回值。其中0返回值必须定义为void:
public void someMethod(int x, String y, Object z) {
//Does something but returns nothing
}
当需要返回超过1个值时,例如2 Integers
,您可以创建一个Object
来保存这些值。这有点将Java
定义为Object Oriented Language
。
class IntegerHolder{
int firstValue;
int secondValue;
//This is a constructor, it creates the object.
public IntegerHolder(int first, int second){
firstValue = first;
secondValue = second;
}
}
public IntegerHolder someMethod(int x, String y, Object z) {
return new IntegerHolder(x, x * 2);
}
但我建议您阅读一些基本的Java
。网络上有数百种资源。
答案 1 :(得分:1)
定义良好的函数只能有一个输出。这是输入和输出之间的这种关系,你可以给出多个输入,但它只给出一个输出。
Java函数定义只遵循此规则。您可以使用java的其他一些功能,以便一次获得多个结果。但是应该根据函数的定义返回输出。你也可以读到这个: