I believe A, B, C, and D are correct. E is not correct.
Below is an example that runs for B.
public class
test implements Timer1 {
public static void main(
String args[]) {
test t1 = new test();
Timer1 timerVar = t1;
nested testNested = timerVar.new nested();
testNested.testMethod();
}
public void timerFired() {}
}
public interface Timer1
{
public abstract void timerFired();
class nested {
public void testMethod() {
System.out.println("test method"); }
}
}
Please explain any difference if you feel that b is correct.