#### 5.1 创建目录 Graphics

#### 5.2 定义接口 Shape

n 声明接口 Shape

n 声明包 Graphics

n 声明接口方法 draw ()

#### 5.3 定义类 Square

n 声明类 Square，并实现 shape 接口

n 声明包 Graphics

n 定义构造方法 Square (double length)

n 实现接口方法 Draw（）

n 定义方法 double getLength ()

#### 5.4 定义类 Rectangle

n 声明类 Rectangle，扩展 Square，并实现 shape 接口

n 声明包 Graphics

n 定义构造方法 Rectangle (double length)

n 实现接口方法 Draw（）

n 定义方法 double areah ()

n 定义方法 double getWidth ()

#### 5.5 定义类 Point

n 声明类 Point，

n 声明包 Graphics

n 定义构造方法 Point (double x，double y)

n 实现方法 getX()

n 定义方法 getY（）

#### 5.6 定义类 Circle

n 声明类 Circle，扩展 Square，并实现 shape 接口

n 声明包 Graphics

n 声明属性 radius

n 定义构造方法 Circle (double x, double y, double radius)

n 实现接口方法 Draw（）

n 定义方法 double getRadius ()

5.7 说明：以上类和接口都声明在同一个包，因此它们之间互相调动而不需要用 import 指令导入。

// ThrowNew.java

//用来演示包的创建以及包内类之间的互相引用

实训代码 1: Shape.java

//定义接口 Shape

package graphics;

interface Shape

{

void draw ();

}

实训代码 2: Square.java

//用来定义类 Square

package graphics;

public class Square implements Shape

{

private double length;

public Square (double length)

{

this.length = length;

}

public double getLength ()

{

return length;

}

public void draw ()

{

System.out.println ("Square");

}

}

实训代码 3:Rectangle.java

//定义 Square 的子类 Rectnagle

package graphics;

public class Rectangle extends Square implements Shape

{

private double width;

public Rectangle (double length, double width)

{

//调用 Square 的构造方法初始化 Rectangle

super (length);

this.width = width;

}

public double getWidth ()

{

return width;

}

public void draw ()

{

System.out.println ("Rectangle");

}

protected double area ()

{

return width * getLength ();

}

}

实训代码 4： Point.java

//定义类 Point.java

package graphics;

class Point

{

private double x, y;

Point (double x, double y)

{

this.x = x;

this.y = y;

}

public double getX ()

{

return x;

}

public double getY ()

{

return y;

}

}

实训代码 5:Circle.java

//定义 Point 的继承类 Circle

package graphics;

public class Circle extends Point implements Shape

{

private double radius;

public Circle (double x, double y, double radius)

{

//调用 Point 的构造方法初始化 Circle

super (x, y);

this.radius = radius;

}

public double getRadius ()

{

return radius;

}

public void draw ()

{

System.out.println ("Circle");

}

}