Given: Which statement, inserted at line 8, enables the code to compile?
A.
new Task().new Counter().increment();
B.
new Task().Counter().increment();
C.
new Task.Counter().increment();
D.
Task.Counter().increment();
E.
Task.Counter.increment();
C
C
compiled example to test is:
public class Task {
String title;
static class Counter {
int counter = 0;
void increment() {
counter++;}
}
public static void main(String[] args) {
new Task.Counter().increment();
}
}
C.
OCA/OCP Java SE 7 Programmer I & II Study Guide (Kathy Sierra, Bert Bates)
699 Static Nested Classes
700 Instantiating and Using Static Nested Classes
class BigOuter {
static class Nest {void go() { System.out.println(“hi”); } }
}
class Broom {
public static void main(String[] args) {
BigOuter.Nest n = new BigOuter.Nest(); // both class names
}
}