本帖最后由 黑马张伟 于 2012-1-3 08:15 编辑
编写一个完整的Java 程序。包含接口ShapeArea,类Circle、Rectangle、Test,具体要求如下:
⑴接口ShapeArea:
①接口方法
double getArea():求一个形状的面积
double getPerimeter ():求一个形状的周长
⑵类Rectangle:
实现ShapeArea接口,并有以下属性和方法:
①属性
width: double型,表示长方形的宽度
height:double型,表示长方形的长度
②方法
Rectangle(double w, double h):构造函数
toString():输出矩形的描述信息,如“width=1.0,height=2.0,perimeter=6.0,area=2.0”
⑶Test类作为主类要完成测试功能
① 生成Rectangle对象
② 调用对象的toString方法,输出对象的描述信息
下面是我写的答案
interface ShapeArea //接口
{
double getArea();
double getPerimeter();
}
class Rectangle implements ShapeArea //类
{
double width,height;
Rectangle(double w,double h)
{ width=w;
height=h;
}
double getArea()
{ double area;
area=width*height;
return area;
}
double getPerimeter()
{ double perimeter;
perimeter=2*width*height;
return perimeter;
}
void toString()
{ System.out.println("width="+width+","+"height="+height+","+"/n"
+"perimeter="+getPerimeter()+","+"area="+getArea());
}
}
class Test
{
public static void main(String args[])
{
Rectangle test=new Rectangle(4,6);
test.toString();
}
}
错误提示
F:\>javac Test.java
Test.java:19: Rectangle 中的 getPerimeter() 无法实现 ShapeArea 中的 getPerimeter
();正在尝试指定更低的访问权限;为 public
double getPerimeter()
^
Test.java:14: Rectangle 中的 getArea() 无法实现 ShapeArea 中的 getArea();正在尝
试指定更低的访问权限;为 public
double getArea()
^
Test.java:24: Rectangle 中的 toString() 无法覆盖 java.lang.Object 中的 toString(
);正在尝试指定更低的访问权限;为 public
void toString()
|
|