java接口相关习题
interface Graphics
{ //接口里面只能用抽象方法
public abstract double area();
}
//设置 平面类
class PlaneGraphics1
{
private String shape; //形状
//构造方法,有参数
public PlaneGraphics1(String shape)
{
this.shape=shape;
}
//无参数
public PlaneGraphics1()
{
this("未知图形1");
}
//打印
public void print()
{
}
}
//长方形 ,继承接口必要实现接口的抽象方法,不然会报错的。
class Rectangle extends PlaneGraphics1 implements Graphics
{
protected double length;
protected double width;
//构造方法
public Rectangle(double length,double width)
{
this.length=length;
this.width=width;
}
//正方形构造方法
public Rectangle(double width)
{
this.length=width;
this.width=width;
}
//无参数构造方法
public Rectangle()
{
}
public double area()
{
return width*length;
}
public void print()
{
System.out.println("长方形面积为:"+this.area());
}
}
//椭圆
class Eclipse extends PlaneGraphics1 implements Graphics
{
protected double radius_a;
protected double radius_b;
//椭圆构造方法
public Eclipse(double radius_a,double radius_b)
{
super("椭圆");
this.radius_a=radius_a;
this.radius_b=radius_b;
}
//圆
public Eclipse(double radius_a)
{
super("圆");
this.radius_a=radius_a;
this.radius_b=radius_a;
}
public Eclipse()
{
}
public double area()
{
return Math.PI*radius_a*radius_b;
}
public void print()
{
System.out.println("圆的面积为"+this.area());
}
}
class Triangle extends PlaneGraphics1 implements Graphics
{
private double bottom ;
private double height;
public Triangle(double bottom ,double height)
{
this.bottom=bottom;
this.height=height;
}
public double area()
{
return bottom*height/2;
}
public void print()
{
System.out.println("三角形面积为:"+this.area());
}
}
public class PlaneGraphics_ex1 {
public static void main(String[]args)
{
PlaneGraphics1 g=new Rectangle(10.0,20.0);
g.print();
g=new Eclipse(10.0,12.0);
g.print();
g=new Triangle(10.0,6.0);
g.print();
}
}