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'.
Join The Discussion
Comments ( 1 )
Related Questions on Declaration and Access Control
What is the default access modifier for class members in Java if no access modifier is specified?
A. public
B. protected
C. private
D. package-private
A. private
B. public
C. protected
D. package-private
What keyword is used to declare a constant in Java, which is implicitly final and static?
A. final
B. const
C. static
D. constant
A. protected
B. private
C. public
D. default
Why ? Static method can't invoke 'this'