我对编程很新,而且对于返回值的确切含义感到困惑。起初,我认为它意味着输出返回的值,但是当我在我自己的代码中尝试时,没有任何反应。
class Class1 {
public static int x = 3;
public static int getX(){
return x;
}
public static void main(String[] args){
Class1.getX();
}
}
这是我的意思的一个例子。当我运行程序时,没有任何显示。考虑到这一点,我被引导相信返回一个值意味着别的东西。但是什么?
答案 0 :(得分:6)
简单来说,它意味着将值返回给方法的调用者......
因此,在您的示例中,方法getX
会将x
的值返回给调用者,允许他们访问它。
class Class1{
static int x = 3;
public static int getX(){
return x;
}
public static void main(String args[]){
int myX = Class1.getX(); // return the value to the caller...
System.out.println(myX); // print the result to the console...
}
}
答案 1 :(得分:2)
返回值是方法相互通信的一种方式
public void method1() {
int value = 5 + method2(5);
System.out.println(value);
}
public int method2(int param) {
return param + 5;
}
这将打印15(5个被发送到method2
,它会向其添加5并将结果返回到method1
,后者将其加5并打印结果。
Java返回值的副本 - 在这种情况下,它复制值10
并将其返回到method1
。如果method2
返回Object
,那么它将返回对象引用的副本。不同的语言对于方法返回具有不同的语义,因此在切换语言时要小心。 Java还复制传递给方法的参数值 - 在这种情况下,method1
复制值5并将其传递给method2
。
public void method1() {
int value = 5;
method2(value);
}
public void method2(int param) {
param = param + 5;
}
value
中的method1
不受method2
的影响(value
执行后method2
仍然等于5),因为只有value
的副本}被作为参数发送。
答案 2 :(得分:0)
您只是调用一个返回整数的方法,但您永远不会使用/打印它。尝试在代码中使用它,看看你是否已经获得了在课堂上设置的所需值。