接口

1.抽象类是从多个类中抽象出来的模板,如果将抽象进行的更加彻底,提炼出更加特殊的“抽象类”------------接口。

2.接口是从多个相似类中抽象出来的规范,接口不提供任何实现,接口体现的是规范和实现分离的设计哲学,接口定义的是多个类共同的公共行为规范,这些行为是与外部交流的通道,因此接口里通常是定义一组公用的方法。

3.一个接口可以有多个直接父接口,但接口只能继承接口,不能继承类。

    接口是一种规范,所以接口中不能有初始化块和构造器,接口里包含的属性只能是常量,方法只能是抽象的实例方法,内部类(包括内部接口)和枚举类定义。接口的成员比类的成员少了2种,而且接口里的属性只能是常量,方法只能是抽象方法。

4.接口里的所有成员(常量,方法,内部类,枚举类)都是public 访问权限,可以省略,如果指定,则只能是public访问修饰符。

                                         接口里的常量是接口相关的,而且它们只能是常量,因此系统默认为这些属性增加static和final修饰符,也就是说在接口中定义属性时,不管是否使用public static final 修饰符,接口里的属性总是将使用这三个修饰符来修饰,而且接口里没有构造器和初始化块,因此接口里的属性只能在定义时指定默认值

                                         接口里定义的方法只能是抽象方法,既不可使用static 修饰接口里定义的方法,不管接口里是否使用public abstract修饰符,接口里的方法总是使用public abstract来修饰。

                                         接口里定义的内部类和枚举类,默认都采用public static两个修饰符。

 

5.   接口不能显示继承任何类,但所有接口的引用变量都可以直接赋给Object类型的引用变量。因为java编译器知道任何java对象都是Object或其子类的实例

        实现接口方法时,必须使用public访问控制修饰符,因为接口里的方法都是public 的,而子类(相当于实现类)重写父类方法时访问权限只能更大或相等,所以实现类实现接口里的方法时只能是public 访问控制权限。

 

接口和抽象类:

                        1.  都不能被实例化,用于被其他类实现和继承。

                        2. 实现接口或继承抽象类的普通子类都必须实现这些抽象方法。

                       

                  设计目的的 差别:1.接口做为系统与外界交互的窗口,体现的是一种规范

     向外提供服务,程序中使用接口,接口是多个模块间的耦合标准,在多个应用程序之间使用接口时,是多个程序之间的通信标准。

                                                     2.抽象类作为多个子类的共同父类,体现的是一种模板式设计,被当成系统实现过程中的中间产品,这个中间产品已经实现了系统的部分功能,但这个产品不能当成最终产品,必须有更进一步的完善

      

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值