Hello.
Give:
class Test4 {
class Inner {
void
test() {
if (Test4.this.flag); {
sample();
}
}
}
private boolean flag = false;
public void sample() {
System.out.println("Sample");
}
public Test4() {
(new Inner()).test();
}
public static void main(
String args []) {
new Test4();
}
}
1) Prints out "Sample"
2) Program produces no output but terminates correctly.
3) Program does not terminate.
4) The program will not compile
I thought the answer is 2), but when I run these codes, the result is 1), why?