java中接口的实现及应用

// app10_4, 接口的实现范例
interface iShape2D
//定义接口??
{
final double pi=3.14;
abstract void area();
}

class CRectangle implements iShape2D
// 实现CRectangle类
{
int width,height;
public CRectangle(int w,int h){
width=w;
height=h;
}
public void area(){
// 定义area()的处理方式
System.out.println(
"area="+width*height);
}
}

class CCircle implements iShape2D
// 实现CCircle类
{
double radius;
public CCircle(double r){
radius=r;
}
public void area(){
// 定义area()的处理方式
System.out.println(
"area="+pi*radius*radius);
}
}

public class app10_4
{
public static void main(String args[])
{
CRectangle rect=new CRectangle(5,10);
rect.area();
//调用CRectangle类里的area() method

CCircle cir=new CCircle(2.0);
cir.area();
// 调用CCircl类里的area() method
}
}
// app10_5,通过接口类型的变量来访问对象
class app10_5
{
public static void main(String args[])
{
iShape2D var1,var2;
// ?派?明接口类型的变量
var1=new CRectangle(5,10);
// 将接口类型的变量var1指向新建的对象
var1.area();
// 通过接口var1调用show() method

var2=new CCircle(2.0);
// 将接口类型的变量var2指向新建的对象
var2.area();
// 通过接口var2调用show() method
}
}
// app10_6, 实现两个以上的接口??
interface iShape2D
// 定义iShape2D接口
{
final double pi=3.14;
abstract void area();
}

interface iColor
// 定义iColor接口
{
abstract void setColor(String str);
}

class CCircle implements iShape2D,iColor
// 实现iShape2D与iColor接口
{
double radius;
String color;
public CCircle(double r){
radius=r;
}
public void setColor(String str){
// 定义iColor接口里的setColor()
color=str;
System.out.println(
"color="+color);
}
public void area(){
// 定义iShape2D接口里的area() method
System.out.println(
"area="+pi*radius*radius);
}
}

public class app10_6
{
public static void main(String args[])
{
CCircle cir;
cir=new CCircle(2.0);
cir.setColor(
"Blue"); // 调用CCircl类里的setColor() method
cir.area();
// 调用CCircl类里的show() method
}
}


lunzi   2005-05-02 04:05:04 评论:0   阅读:3894   引用:0

发表评论>>

署名发表(评论可管理,不必输入下面的姓名)

姓名:

主题:

内容: 最少15个,最长1000个字符

验证码: (如不清楚,请刷新)

Copyright@2004-2010 powered by YuLog