接口的理解

修饰符abstract:抽象的,定义框架不去实现,可以修饰类和方法
        abstract修饰类:
                会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型,也就是编译时类型
                抽象类就相当于一个类的半成品,需要子类继承并覆盖其中的抽象方法,这时子类才又创建实例的能力,如果子类没有实现父类的抽象方法,那么子类也要为抽象类。
       
        abstract修饰方法:
                会使这个方法变成抽象方法,也就是只有声明而没有实现,实现部分以";"代替,需要子类继承实现。
                抽象方法代表了某种标准,定义标准,定义功能,在子类中去实现功能(子类继承了父类并需要给出从父类继承的抽象方法的实现)。
                方法一时间想不到怎么被实现,或有意要子类去实现而定义某种标准,这个方法可以被定义为抽象。
       
        注意:
                有抽象方法的类一定是抽象类。但是抽象类中不一定都是抽象方法,也可以全是具体方法。

接口(interface):
        接口的定义:接口从本质上说是一种特殊的抽象类。
                关键字interface。
                在接口中,所有的方法为公开、抽象的方法:public abstract
                在接口中,所有的属性都是公开、静态的常量:public static final
                接口与接口之间可以多继承,用extends,多个之间用逗号隔开。
                接口中没有构造方法,不能用“new 接口名”来实例化一个接口,但可以声明一个接口。

接口的实现:
                关键字implements
                一个类实现一个接口必须实现接口中所有的方法,否则其为抽象类,并且在实现类中的方法要加上public(不能省略)。
                        类中的默认修饰符:default。
                        接口中的默认修饰符:public。
                一个类除了继承另一个类外(只能继承一个类),还可以实现多个接口(接口之间用逗号分隔)。

        接口的作用:
                间接实现多继承:用接口来实现多继承并不会增加类关系的复杂度。因为接口不是类,与类不在一个层次上,是在类的基础上进行再次抽象。
                接口可以抽象出次要类型,分出主、次关系类型,符合看世界的一般方法。
                接口隔离,与封装性有关。一个对象都有多个方面,可以只展示其中几个方面,其他的都隐藏。因此可以看为“更高层次的封装”,把                    一个大接口做成若干个小接口。
                通过接口制定标准(最重要的作用)
                        接口:制定标准。
                        接口的调用者:使用标准。
                        接口的实现类:实现标准。
                            解耦合作用:把使用标准和实现标准分开,使得标准的制定者和实现者解除偶合关系,具有极强的可移植性
                                例:sun公司提供一套访问数据库的接口(标准),java程序员访问数据库时针对数据库接口编程。接口由各个数据库厂商负责实现。
                     
        接口编程的原则
                尽量针对接口编程(能用接口就尽量用接口)
                接口隔离原则(用若干个小接口取代一个大接口)
               
        注意:
                接口中没有构造器,也没有main方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值