
代码实现
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();
		
	}
	}
}
java实例_接口 [clone长方形类Rect 添加定义一个接口 ShapeCalc]
原文:https://www.cnblogs.com/ProtoDrive/p/11084725.html