Declarations and Access Control - Programming

Q1:

What will be the output of the program?
public class A
{ 
    void A() /* Line 3 */
    {
        System.out.println('Class A'); 
    } 
    public static void main(String[] args) 
    { 
        new A(); 
    } 
}

A Class A

B Compilation fails.

C An exception is thrown at line 3.

D The code executes with no output.

ANS:A - Class A

Option D is correct. The specification at line 3 is for a method and not a constructor and this method is never called therefore there is no output. The constructor that is called is the default constructor.