Chinaunix首页 | 论坛 | 博客
  • 博客访问: 711155
  • 博文数量: 160
  • 博客积分: 8847
  • 博客等级: 中将
  • 技术积分: 1656
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-25 16:46
个人简介

。。。。。。。。。。。。。。。。。。。。。。

文章分类

全部博文(160)

文章存档

2015年(1)

2013年(1)

2012年(4)

2011年(26)

2010年(14)

2009年(36)

2008年(38)

2007年(39)

2006年(1)

分类: Java

2009-05-27 11:57:10

接口可以帮我们做很多事情。

假设,你写了一个类,类里面有多个方法,例如:

public class A{
public void a(){}
public void b(){}
...
}

有人想调用类中的方法a,有人想调用类中的方法b,还有的人想调用a、b两个方法。。。
对于这种情况,为了保证程序的安全性和稳定性,我们就能够建立3个不同的接口分别满足3中用户的需求。

public interface aa{
public void a();
}

public interface bb{
public void b();
}

public interface ab{
public void a();
public void b();
}

接着,我们用3个不同的类去实现这些接口:

public class AA implements aa{
public void a(){

}
}

public class BB implements bb{
public void b(){

}
}

public class AB implements ab{
public void a(){

}
public void b(){

}
}


由于aa是一个接口,无法实例化。
但是AA实现了aa这个接口,那么就存在着一种关系,即:
“AA is a aa”
而AA是可以实例化的,所以利用aa作为一种通用的数据类型,比较好。它可以引用AA类型的数据,也可以引用BB类型的数据。。。

如果你想在类A中操作这样的数据,就很好弄了。
我们在类A中添加一个方法:
public class A{
public void a(){}
public void b(){}
...
public void x(aa x){}
}

这里我们添加了一个x方法,它的参数是一个aa类型的。
操作x,让数据在类A和类AA之间传递,我们就在aa接口中添加方法x:

public interface aa{
public void a();
public void x(aa x);
}

public class AA implements aa{
public void a(){

}
public void x(aa x){

}
}

如果我们这个时候对x操作,那么根据多态,我们实际就操作了AA中的数据。


阅读(1659) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~