다음 Java 출력을 이해합니다.Echo e2 = e1 in Java
public class EchoTestDrive {
public static void main(String[] args){
Echo e1 = new Echo();
Echo e2 = new Echo();
int x = 0;
while (x<4){
e1.hello();
e1.count = e1.count + 1;
if (x==3){
e2.count = e2.count +1;
}
if(x>0){
e2.count = e2.count + e1.count;
}
x = x+1;
System.out.println("e1.count is " + e1.count);
System.out.println("e2.count is " + e2.count);
}
System.out.println(e2.count);
}
}
class Echo {
int count = 0;
void hello(){
System.out.println ("helloooooooo..");
}
}
출력
helloooooooo..
e1.count is 1
e2.count is 0
helloooooooo..
e1.count is 2
e2.count is 2
helloooooooo..
e1.count is 3
e2.count is 5
helloooooooo..
e1.count is 4
e2.count is 10
10
그러나 I는 에코 E2 = 새로운 에코를 변경할 때()의 출력은 그래서 이유 I 이해할 수없는, E1 = E2 반향. X = 1, e1.count e1.count 2가되고있는 경우에 저
public class EchoTestDrive {
public static void main(String[] args){
Echo e1 = new Echo();
Echo e2 = e1;
int x = 0;
while (x<4){
e1.hello();
e1.count = e1.count + 1;
if (x==3){
e2.count = e2.count +1;
}
if(x>0){
e2.count = e2.count + e1.count;
}
x = x+1;
System.out.println("e1.count is " + e1.count);
System.out.println("e2.count is " + e2.count);
}
System.out.println(e2.count);
}
}
class Echo {
int count = 0;
void hello(){
System.out.println ("helloooooooo..");
}
}
출력
helloooooooo..
e1.count is 1
e2.count is 1
helloooooooo..
e1.count is 4
e2.count is 4
helloooooooo..
e1.count is 10
e2.count is 10
helloooooooo..
e1.count is 24
e2.count is 24
24
, e1.count 1 및 e2.count X = 0이고 0 e2.count is 2. 기타
누군가가 설명하기를 바랍니다.
미리 감사드립니다.