注册 登录
编程论坛 JAVA论坛

求大神帮忙,此程序能够运行,但是class Shape{}什么都没有,别人问起来怎么解释,答辩用,谢谢

王谢风流 发布于 2017-12-24 14:14, 3237 次点击
编写一个完整的Java  Application 程序。包含接口ShapeArea,MyRectangle类及Test类,具体要求如下:
⑴接口ShapeArea:  double  getArea():求一个形状的面积  double  getPerimeter ():求一个形状的周长
⑵类 MyRectangle:  实现ShapeArea接口,另有以下属性和方法:
① 属性  width:  double类型,表示矩形的长 height:  double类型,表示矩形的高
② 方法  MyRectangle(double  w, double  h):构造函数  toString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,  area=2.0”  
⑶Test类作为主类要完成测试功能  
① 生成MyRectangle对象  
② 调用对象的toString方法,输出对象的描述信息
/*
 * --测试类 (4)Test类作为主类要完成测试功能 ① 生成Rectangle对象 ② 调用对象的toString方法,输出对象的描述信息
 */
public class Test {
    public static void main(String args[]) {
        Rectangel rectangel = new Rectangel(1,2);
        System.out.println(rectangel);        
    }
}
/*
 * --父类 (1)父类Shape: name:String类型,形状的名称 color:String类型,形状的颜色
 */
class Shape{}
/*
 * --接口 (2)IshapeCaculate double getArea():求一个形状的面积 double getPerimeter
 * ():求一个形状的周长
 */
interface IshapeCaculate {
    public double getArea();
    public double getPerimeter();
}
/*
 * --子类 (3.1)类 Rectangel: 实现接口IshapeCaculate,并有以下属性和方法: ① 属性 width:
 * double类型,表示矩形的长 height: double类型,表示矩形的高 ② 方法 Rectangle(double w, double
 * h):构造函数 toString()方法 :输出矩形的描述信息,如“矩形 width=1.0,height=2.0, perimeter=6.0,
 * area=2.0”
 */
class Rectangel extends Shape implements IshapeCaculate {
    private double width;
    private double height;
    public Rectangel(double w, double h) {
        this.width = w;
        this.height = h;
    }
    @Override
    public double getArea() {
        return width * height;
    }
    @Override
    public double getPerimeter() {
        return 2 * (width + height);
    }
    public String toString() {
        return "矩形 width=" + width + ",height=" + height + ", perimeter=" + getPerimeter() + ",area=" + getArea();
    }
}
6 回复
#2
林月儿2017-12-24 15:09
问你啥了
#3
王谢风流2017-12-24 15:18
回复 2楼 林月儿
搞不清楚class Shape{}是空的有没有存在的必要,但是删掉程序又报错,这个东西有什么意义呢
#4
林月儿2017-12-24 15:21
class Rectangel extends Shape implements IshapeCaculate {
    private double width;
    private double height;
    public Rectangel(double w, double h) {
        this.width = w;
        this.height = h;
    }
    @Override
    public double getArea() {
        return width * height;
    }
    @Override
    public double getPerimeter() {
        return 2 * (width + height);
    }
    public String toString() {
        return "矩形 width=" + width + ",height=" + height + ", perimeter=" + getPerimeter() + ",area=" + getArea();
    }
}
这不是有类在继承它么。。。删掉继承个啥?
你这样去答辩老师会不会为难你啊?
#5
神vLinux飘飘2017-12-25 09:12
哈哈哈哈哈哈哈哈哈哈
#6
Buetiful2018-01-04 16:07
试试把Shape类换成abstract类
#7
panjueming2018-01-14 12:34
回复 楼主 王谢风流
class Rectangel implements IshapeCaculate ;这样,直接去掉extends Shape,不会错的;class Rectangel extends IshapeCaculate ,这样会错,因为类不能继承接口
1