What is the result of compiling and running the following code?
public class Tester{
static int x = 4;
public Tester(){
System.out.print(this.x); // line 1
Tester();
}
public static void Tester(){ // line 2
System.out.print(this.x); // line 3
}
public static void main(String... args){ // line 4
new Tester();
}
}
public class Tester{
static int x = 4;
public Tester(){
System.out.print(this.x); // line 1
Tester();
}
public static void Tester(){ // line 2
System.out.print(this.x); // line 3
}
public static void main(String... args){ // line 4
new Tester();
}
}
A. Compile error at line 1 (static x must be only accessed inside static methods)
B. Compile error at line 2 (constructors can't be static)
C. Compile error at line 3 (static methods can't invoke this)
D. Compile error at line 4 (invalid argument type for method main )
E. 44
Answer: Option C
Solution(By Examveda Team)
static methods can't invoke 'this'.
Why ? Static method can't invoke 'this'