接口与抽象类

概述

接口:

  • 接口定义使用关键字interface;
  • 接口是将抽象进行得更彻底,从而提炼出的一种更为特殊的“抽象类”;
  • 接口名字往往是叫做****able,代表具有什么样的能力;
  • 公共接口的名字必须与它所在的java文件文件名一致;
  • 接口的访问修饰符只能是public,就算不写也是默认为public而不是同包;
  • 接口可以继承接口,而且它可以多继承!

接口与类的关系叫做:实现

  • 一个类在申明的最后用implements关键字,后面跟上接口的名字即可。
  • 这个类就被称之为***接口的实现类
  • 1、一个类可以在继承父类的同时,又实现接口!继承只能是单继承,但实现接口是多实现!
  • 语法上:先写继承,再写实现,如果没有写继承则默认继承Object;
  • 2、一个类如果实践了接口,必须实现该接口中所有的抽象方法,否则这个类就是抽象类!
  • 3、类从接口中获取的方法会参与到继承中去.
    抽象类:
    1、接口定义使用关键字abstract;
    2、不能产生对象的类。抽象类的作用是专门用来充当父类;
    3、抽象类不一定有抽象方法,有抽象方法的一定是抽象类;
    4、抽象方法只需要写生命部分,不需要写实现部分;
    接口与类的相似面:
    1、接口可以有任意数量的方法;
    2、接口保存为一“java”为后缀名的文件,接口名需要与文件名匹配;
    3、接口变异后的后缀名为“. class”的字节码文件;
    4、在包中的接口,其相应的字节码文件必须放置在和包名称相匹配的一个目录结构中。
    接口与类之间的不同之处:
    1、接口不能被实例化;
    2、接口不包含任何构造器(说明:接口不能产生对象);
    3、接口中的所有方法都是抽象的;
    4、接口中不包含实例成员变量。唯一可以出现接口中的成员变量必须是同时声明为static和fonal;
    5、接口不能被一个类继承,只能被一个类来实现;
    6、一个接口可以继承多个接口;
    7、接口能够用于暴露一个类的某些行为,而不是这个类的所有行为;
    8、接口能够用于强制作用于其他对象的行为,能确保某些方法被对象实现;
    9、接口中的属性只能是公共静态常量属性;
    10、接口不能有初始化块,不管是实例还是静态初始化块;
    11、接口里面只能有抽象方法,访问修饰符只能是public;
    12、JDK1.8允许接口有实现方法,但要用default关键字申明
    例:public default void test(){
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值