Question discussion

The following code contains one compilation error, find it?public class Test { Test() { } // line 1 static void Test() { this(); } // line…

280122Medium 1 reply 558 views
1
The following code contains one compilation error, find it?public class Test { Test() { } // line 1 static void Test() { this(); } // line 2 public static void main(String[] args) { // line 3 Test(); // line 4 }}
  • AAt line 1, constructor Tester must be marked public like its class
  • BAt line 2, constructor call
  • CAt line 3, compilation error, ambiguity problem, compiler can't determine whether a constructor
  • DAt line 4
Correct answer: B

Discussion 1

0
CCommunity
At line 2, constructor call

a constructor call (super() or this() ) must be the first statement inside a constructor.
No constructor calls are allowed inside a method.
static void Tester() is a method not a constructor.