第十章:接口笔记

一、概念
 
(一)定义
 
接口是一种标准,是接口实现者和使用者必须遵循的约定。
 
(二)语法(jdk7.0)
 
1. 关键字: interface  ,语法格式为  interface 接口名{} 
2. 特点:
- 不能创建对象,但可声明引用,如  接口名 引用名; 
- 属性默认被  public static final  修饰,为公开、静态、常量
- 方法默认被  public abstract  修饰,为公开、抽象方法
- 无构造方法
 
二、实现类
 
(一)实现语法
 
 class 类名 implements 接口名{} 
 
(二)实现类要求
 
若实现类不想成为抽象类,需覆盖接口中所有抽象方法,且覆盖方法时访问权限必须是  public (因接口方法默认权限为  public  )
 
三、接口之间的继承性
 
(一)接口与接口的多继承关系
 
1. 一个接口可同时继承多个接口,语法为  interface 接口名 extends 父接口1,父接口2{} 
2. 类实现接口时,需实现所有方法(含父接口方法 )
 
(二)类和接口的多实现关系
 
1. 一个类可同时实现多个接口,语法为  class 类名 implements 接口1,接口2{} 
2. 类实现多个接口时,需覆盖所有接口的抽象方法(否则为抽象类 )
 
(三)类继承父类同时实现接口
 
1. 语法: class 类名 extends 父类 implements 接口,接口2{} 
2. 注意:继承在前,实现在后
 
四、接口的影响
 
因接口间多继承、类与接口间多实现关系,利用父类型(父类 + 父接口 )存储子类型对象体现多态,让多态更灵活多元。注意:接口类型引用调用方法,只能调该接口定义的方法
 
五、接口的新特性
 
(一)jdk8.0特性
 
1. 默认方法:
- 语法: default 返回值类型 方法名(形参列表){} 
- 特点:可带方法实现部分,访问权限为  public 
2. 静态方法:
- 语法: static 返回值类型 方法名(形参列表){} 
- 特点:可带实现部分,默认访问权限  public  ,使用方式  接口名.静态方法名(实参); 
 
(二)jdk9.0特性
 
私有方法:
 
- 语法: private 返回值类型 方法名(形参列表){} 
- 作用:定义接口内部组件,降低冗余
 
六、接口的分类
 

(一)普通接口
 
含多个抽象方法,可能有属性,开发中最常见
 
(二)常量接口
 
无抽象方法,只有属性(了解即可 ),示例:
 
interface IA{
    int m = 8;
}
 
 
(三)标记接口(空接口 )
 
无任何属性和抽象方法(开发会用 ),示例:
 
interface IC{} 
 
 
(如用于对象序列化 )
 
(四)函数式接口
 
有且仅有一个抽象方法(重点 ),示例:
 
interface IB{
    void m1();

 
 
用于 jdk8.0 Lambda 表达式开发
 
七、接口和抽象类的区别(面试重点)
 
对比项 抽象类 接口 
关键字  abstract class   interface  
继承/实现关键字  extends (类继承抽象类)  implements (类实现接口) 
属性 实例变量、静态变量,4个访问修饰符可修饰 公开静态常量(默认 public static final 修饰 ) 
方法 抽象方法、普通成员方法(4个访问修饰符任意修饰对应方法 ) 抽象方法( public abstract  )、静态方法(jdk8.0, public  )、默认方法(带实现, public  )、私有方法(jdk9.0 ) 
构造方法 有构造方法 无构造方法 
继承关系 单继承 多继承

你可能感兴趣的:(笔记,java,jvm)