Java 接口的使用

Description

先定义一个接口IGetArea,有一个方法computeArea,有一个常量PI为3.14。 
 然后定义一个实现该接口的Circle类,有double类型的半径属性。  
 再定义一个实现该接口的Rectangle类,有double类型的长和宽属性。  
 要求Main方法中至少包含如下代码(这些语句不要求必须放在一起): 
 IGetArea iga; 
 iga=new Circle(r); 
 iga=new Rectangle(a,b);  
 iga.computeArea();


Input
第一行输入数据的组数N,然后有N组数据。每组数据由几个整型数组成,第一个是图形类型,0表示Circle,1表示Rectangle;而后如果前面是0,后面跟一个浮点,如果是1后面跟两个浮点。
Output
图形类型及其面积(精度保留2位)。
Sample Input

0 10 
1 20 10 
1 5 4 
0 20
Sample Output
Circle:314.00
Rectangle:200.00
Rectangle:20.00
Circle:1256.00

首先,是对接口的定义格式:

[修饰符] interface 接口名称 ([extends 父接口名称])

{

    [public] [static] [final] 数据类型 变量名   =    常量值;

    [public] [abstract] 返回值类型  方法名  (参数列表);

    ......;

}


然后,是用类实现接口:

对接口的实现是通过类的继承来实现的,用关键字 implements 来继承接口,

并且接口中的方法均用 public 修饰,所以在重写方法时也要用 public 修饰,如下:

[修饰符] class  类名([extends 父类名])[implements 接口A,接口B...]

{

    类成员变量和方法;

    为接口A中的所有方法编写方法体,是现接口A;

    ......;

}

一个类只能继承一个父类,但是可以同时继承多个接口;在类体中,需要对继承的接口的所有的方法进行实现。

代码如下:

import java.util.*;
interface IGetArea     //实现接口;
{
    public double computeArea();
    public static final double PI = 3.14;
}
class Circle implements IGetArea  //继承接口;
{
    double radium;
    public Circle (double radium)
    {
        this.radium = radium ; 
    }
    public double computeArea()   //重写接口A的方法,要用 public 修饰;
    {
        return PI*radium*radium ;
    }
}
class Rectangle implements IGetArea
{
    double m,n;
    public Rectangle (double m,double n)
    {
        this.m = m ; 
        this.n = n ; 
    }
    public double computeArea()
    {
        return m*n ; 
    }
}
public class Main {
    public static void main(String args[]){
        Scanner cin = new Scanner(System.in);
        int t,k,i;
        double r,a,b;
        while(cin.hasNext())
        {
            t = cin.nextInt();
            for(i=0;i

测试数据:

Java 接口的使用_第1张图片

你可能感兴趣的:(JAVA)