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();
}
}
}