Why doesn't this code compile?
abstract class A {
private int x = 4;
private int y = 2;
public int x() {return x;}
public void x(int x) {this.x = x;}
public int y() {return y;}
public void y(int y) {this.y = y;}
}
interface B {int math();}
class C {
static class D extends A implements B {
public int math() {return x()+y();}
}
static A a1 = new A() implements B{
public int math() {return x()+y();}
};
public static void main(
String[] args) {
System.out.print(new C.D().math());
System.out.print(a1.math());
}
}