接口

接口:
1. 接口使用关键字interface,表明这是一种与类无关的全新的数据类型
2. 访问修饰符只能是public或者默认
3. 作用:在没有继承关系的类之间,提供共用的行为
为java中类与类之间的单继承,提供多实现
4. 在接口中的属性不能为变量,只能是公共的静态的常量
eg:public static final int A =100 ;
5. 如果在定义的时候没写static final 则默认为静态的常量
6. 如果在定义的时候没写public 也会默认为是公共的
7. 就算不写 public static final 关键字,也会默认为公共的静态的常量
8. 构造方法:在接口当中没有构造方法
9. 接口不能直接产生对象
10. 行为方法上:接口里面只能有公共的抽象方法,不能为私有的。在JDK1.8中可以拥有实现方法,不过要加上default关键字。
eg:public default void test(){

当不写public abstract 关键字,也会默认为公共抽象方法

接口具有以下性质:
1. 接口默认是抽象的,在声明接口中,不需要使用关键字abstract
2. 接口中的每一个方法默认也是抽象的,所以也不需要关键字abstract
接口中的方法默认访问修饰符是public。在编写接口的时候通常用public关键字,但是如果我们不显示地将接口中的方法声明为public,它仍然将是public的

接口用法:
1. 接口可以继承接口:当接口继承接口,可以允许多继承。在extends后面写上接口的名字,中间用逗号隔开(extends)
2. 类可以实现接口:使用关键字:implements 而且必须实现接口里面的抽象方法,否则这个类就是抽象类
类是先接口是多实现,也就是一个类可以实现多个接口,用逗号连接

抽象类和接口的区别:
定义语法上:
抽象类 接口:
1. Abstract class 1. interface
2. 修饰符可以是public、private、protecte 2.只能是public或者默认
3. 任意属性 3. 公共的静态常量
4. 有构造方法 4. 无构造方法
5. 抽象方法必须写abstract 5.抽象方法可以不写abstract关键字
6. 可以有实现方法 6. 1.8以前没有实现方法,1.8以后实现方法要加default
使用语法上:
1.不能产生对象 1.不能产生对象
2.可以被子类继承,且是单继承 2.可以被子类继承,且是多继承,可以被实现类实现,且是多实现
设计思想上:
1.把一脉相承、与生俱来的行为定义到抽象类当中 1.把附属添加(外部可以添加)的行为定义到接口当中

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值