JavaSE:接口(interface)

接口(interface)

接口:使用interface关键字修饰。

[权限修饰符] interface 接口 [父类接口,父类接口,。。。]{
静态全局常量
// 抽象方法
// JDK1.8以后,我们还可以定义静态方法和default修饰的成员方法
}

注意:

  1)接口中的属性,默认为全局静态常量,也就是默认使用“public static final”来修饰
  2)接口中的方法,默认为抽象方法,也就是默认使用“public abstract”来修饰JDK1.8之后,接口中还可以定义静态方法和default修饰的成员方法
  3)因为接口中包含抽象方法(只有方法的声明,没有方法的实现),所以接口不能被实例化!
  4)接口中,不能存在:静态代码块、构造代码块、构造方法、成员变量、静态变量、非default修饰的成员方法
JDK1.8之后,接口中还可以定义静态方法和default修饰的成员方法
  5)接口可以作为方法的返回值类型,也可以作为方法的形参,也就是说接口也能实现多态!
  6)接口和接口之间属于extends关系,并且接口可以实现多继承!

接口的实现:

  需求:如果想要一个类,功能既要强大,又要安全,那么我们该怎么去实现???
  解决:让这个类先实现一个父类,然后再实现多个接口,这就是接口的多实现!
因为一个实现类,可以先继承于某个父类,然后再实现多个接口!
接口和抽象类的区别
  思考:你对接口、抽象类和普通类的理解!
  理解:都是向上提取的结果。接口抽取的程度最高,然后抽象类抽取程度次之,普通类抽象抽取程度最低!

接口和抽象类相同点

  1)接口和抽象类都不能被实例化。
  2)接口和抽象类中都可以包含抽象方法。
  3)接口和抽象类都可以实现多态!

接口和抽象类不同点

  1)抽象类与抽象类之间属于继承(extends)关系,只支持单继承。
  接口与接口之间属于继承(extends)关系,并且支持多继承。
  2)实现类和抽象类之间属于继承(extends)关系,属于单继承。
  实现类和接口之间属于实现(implements)关系,属于多实现。
  3)抽象类描述的是“is a”的关系,描述的是“同一体系”中的基本行为。
  接口描述的是“is like a”的关系,描述的是“不同体系”中的共同行为。
  4)抽象类包含:抽象方法、属性(成员变量和静态变量)、方法(成员方法和静态方法)、构造方法、代码块(静态代码块、构造代码块)
  接口包含:全局静态常量、抽象方法、JDK1.8以后还支持:静态方法、default修饰的成员方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值