天天看点

java定义一个shape_java实例_接口 [clone长方形类Rect 添加定义一个接口 ShapeCalc]

java定义一个shape_java实例_接口 [clone长方形类Rect 添加定义一个接口 ShapeCalc]

代码实现

package Lab7;

import java.util.Scanner;

interface ShapeCalc

{

//任何类型 final, static 字段

//抽象方法

public double area();

public double peri();

}

class Rect implements ShapeCalc ,Cloneable

{

public int length;

public int width;

public void setdate(int length,int width)

{

this.length = length;

this.width = width;

}

public int getlength()

{

return length;

}

public int getwidth()

{

return width;

}

public double area(){

return this.length*this.width;

}

public double peri(){

return this.length*2+this.width*2;

}

public Object clone() throws CloneNotSupportedException{

return super.clone();

}

}

public class Lab7 {

@SuppressWarnings("unused")

public static void main(String[] args) {

// TODO 自动生成的方法存根

Rect rc = new Rect();

Scanner in = new Scanner(System.in);

int l_1=in.nextInt();

int w_1=in.nextInt();

rc.setdate(l_1, w_1);

System.out.println("面积:"+rc.area()+" "+"周长:"+rc.peri());

try {

Rect newrc = (Rect)rc.clone();

int l_2=in.nextInt();

int w_2=in.nextInt();

newrc.setdate(l_2, w_2);

System.out.println("面积:"+newrc.area()+" "+"周长:"+newrc.peri());

} catch (CloneNotSupportedException e) {

e.printStackTrace();

}

}

}