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

java实例_接口 [clone长方形类Rect 添加定义一个接口 ShapeCalc]_第1张图片

 

 

 

代码实现

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

}
}
}

转载于:https://www.cnblogs.com/ProtoDrive/p/11084725.html

你可能感兴趣的:(java实例_接口 [clone长方形类Rect 添加定义一个接口 ShapeCalc])