public class GC {
public static GC doStuff() {
GC newGC = new GC();
doStuff2(newGC);
return newGC;
}
public static void main(String[] args) {
GC gc1;
GC gc2 = new GC();
GC gc3 = new GC();
GC gc4 = gc3;
gc1 = doStuff(); // Question refers to this line
}
...
}
方法表示对象的行为,而引用变量表示对象的远程控制。但是将方法分配给引用变量意味着什么?为什么链接行为和远程控制是否合理?
答案 0 :(得分:0)
dostaff()方法将返回可以分配给gc1的值。这意味着dostaff()返回类型是GC
答案 1 :(得分:0)
方法就像机器。你可以放入参数,一些工作在里面完成,然后最后出现一些东西。该方法产生的是返回值,可以分配给另一个变量。
所以在你的情况下gc1 = doStuff();
只是意味着启动机器"名称为doStuff
。它不会接受任何参数,但会在最后生成一个值。然后将此输出用于分配给变量gc1
。
为了给您一个更具体的例子,请考虑以下代码:
public static int twoTimesTwo() {
int result = 2 * 2;
return result; // output value of this method
}
public static void main(String[] args) {
int value = twoTimesTwo();
System.out.println(value); // prints 4
}
此处twoTimesTwo
生成一个等于4
的值,并将该值暴露给外部。这就是为什么我们可以直接将方法的结果分配到value
,最终会打印4
。