In which two cases does the compiler supply a default constructor for class A?()  
A、 class A{}
B、 class A { public A(){} }
C、 class A { public A(int x){} }
D、 class Z {} class A extends Z { void A(){} }