2010-03-02 11:03:43
 

好,看代码:
------------------------------
public class 家长 implements 人{
    public void 吃饭(){
        //下馆子 }

    public void 睡觉(){
        //去旅馆睡觉 }

    //其它特有方法,比如会见老师,晓之以钱,动之以利等等,不一而足 }
-------------------------------

在调用的时候不需要修改任何代码,还和原来一样:
    人 c=new 家长();
       学校.开饭(c);
       学校.放学(c);
轻松搞定家长的食宿问题!

这样一来学校来再多的客人都没关系啊,绝对可以应付自如,这也就是传说中的可扩展性! 不知道初学者看到这里是不是能够明白接口的作用。如果你还不明白,那么你把人这个接口去掉,自己写一个学校开饭和放学的类,然后再加一个家长这个新新人类进去,看看你的代码是什么样子的,再想一下在人口这么多的中国,万一哪天你的学校里来了成千上万个新新人类你该怎么办! 先声明一下,这个案例可不是我想出来的~~ 然后我们就很好理解了,为什么用别人的东西要实现接口呢?很直接的一个原因是这样一来,编程的复杂度就可能会大大降低了。

 

Interface是用来定义类的I并且是一个极度抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类的类型,来实现某种类似多种继承变种的特性。

Interface接口仅包含方法的声明,而不包含其实现。也就是说,实现接口的每个类都必须为该接口中声明的每个方法提供实现。 
Interface接口方法定义不能包含任何属性(如 public  private),但在实现接口的类的定义中,已实现的方法必须标记为 public 
 
 通过 extends 语句可以使用一个接口继承多个接口,通过 implements 语句可以使用一个类继承多个接口。

相关文章: