java提示错误:已在程序包,未命名程序包中定义了类D

各位大佬,帮帮忙
原程序是这样的:
/filename:App9_3.java
class A
{
void g()
{
for(int i=97;i<123;i++)
{
System.out.print((char)i);
}
System.out.println();
}
}
class B extends A
{
void f()
{
for(int i=65;i<91;i++)
{
System.out.print((char)i);
}
System.out.println();
}
}
class C
{
public static void main(String[] args)
{
A x=new A();
x.g();
B y=new B();
y.f();
}
}
interface G
{
static final double PI=3.14;
abstract double getArea();
abstract double getLength();
}
class D extends B
{
protected void f() //覆盖B类中的f()
{
System.out.println("覆盖B类中的f()");
}
class D implements G
{
double radius;
public D(double r)
{
radius=r;
}
public double getArea()
{
return PIradiusradius;
}
public double getLength()
{
return 2PIradius;
}
}
}

提示的很明确啊,你上面声明了两个class D