Inner Classes - Programming

Q1:

What will be the output of the program?
public class TestObj 
{
    public static void main (String [] args) 
    {
        Object o = new Object() /* Line 5 */
        {
            public boolean equals(Object obj) 
            {
                return true;
            } 
        }      /* Line 11 */
        
        System.out.println(o.equals('Fred'));
    }
}

A It prints "true".

B It prints "Fred".

C An exception occurs at runtime.

D Compilation fails

ANS:A - It prints "true".

This code would be legal if line 11 ended with a semicolon. Remember that line 5 is a statement that doesn't end until line 11, and a statement needs a closing semicolon!