黑马程序员技术交流社区

标题: [笔记]对接口的理解 [打印本页]

作者: alee    时间: 2014-8-14 11:44
标题: [笔记]对接口的理解
interface:是抽象类的变体,。在接口中,所有方法都是抽象的。如:interface M{
                                                        int num=3;
                                                        void eat();
                                                }
        理解为接口是一个特殊的抽象类,所以接口不能创建对象,且接口没有构造方法,
        但可以声明一个接口类型的引用(m是接口类型实现类对象,如:M m=new N();)
        接口存在的意义是被子类实现,如果不想让子类也抽象,
        就要实现接口里面所有的抽象方法,实现过程中注意访问权限;

        用  implements 关键字实现接口,如:class N implements M{
                                                                        public void eat(){...}
                                                                   }
        接口里面的常量默认都是public static final的;
        接口里面的方法默认都是public abstract的。
       
        接口本身支持多继承,继承了父接口里功能的定义,如,interface A extends B,C,D{}                //A,B,C,D都是接口;
        类可以同时继承一个父类和实现接口(或多个接口)。
        如:class AA extends BB implements CC,DD,EE{}//AA,BB      是类,CC,DD,EE是接口;
        作用:1,用接口去实现多继承,接口是对类的共性进行再次抽象,抽象出类的次要类型。
                        如:蜘蛛侠,拥有人和蜘蛛的属性,但主要类型是人,次要类型(接口)是蜘蛛,
                        因为接口是次要类型,所以在类关系里不占一个节点,不会破坏类层次关系的树状结构,
                  2,标准(保证弱耦合):一个接口就是一个标准(里面的属性不能改变,只定义了功能,
但没有被实现),        接口将标准的制定者,标准的实现者以及标准的使用者分离开,
                            降低实现者和使用者的耦合。接口是java里一种重要的降低耦合的工具;
接口可以屏蔽不同实现类的差异,
                            当底层的实现类更换后,不会对上层的使用者产生影响,体现在参数和返回值。       
                           
                            写程序时,应该先写实现者再写使用者,如:Bank.java是实现者,View.java是使用者,
                            但是有了接口之后,就可以用接口回调的功能;
                            接口回调:先定义接口,然后写使用者和实现者的顺序随便(一般是先写使用者,
后写实现者);利用参数把实现者传给使用者(即:实现者是使用者的属性),
使用者利用接口调用实现者相应的功能。
         **接口和抽象类的区别        1一个类可以implements多个接口,而只能extends一个抽象类
                       2,一个抽象类可以实现部分的方法,而接口都是抽象的方法和属性
作者: alee    时间: 2014-8-14 11:46
接口实现了多继承




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2