Examveda
Examveda

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();
	}
}

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 )

  1. Sanni Kumar
    Sanni Kumar :
    4 years ago

    Why ? Static method can't invoke 'this'

Related Questions on Declaration and Access Control

Suppose a class has public visibility. In this class we define a protected method. Which of the following statements is correct?

A. This method is only accessible from inside the class itself and from inside all subclasses.

B. In a class, you cannot declare methods with a lower visibility than the visibility of the class in which it is defined.

C. From within protected methods you do not have access to public methods.

D. This method is accessible from within the class itself and from within all classes defined in the same package as the class itself.

What is the result of compiling and running the following code?

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