本帖最后由 lyy950806 于 2018-11-18 16:49 编辑
接口 接口:是一种引用数据类型,编译之后也会生成字节码文件 接口里没有构造方法, 不能创建对象, 可以通过实现类来创建对象; 没有静态代码块 jdk1.7以前包括jdk.7: 常量 格式 public static final 数据类型 常量名 = 值(大写); 定义常量时, 一定要赋值, 且只能赋值一次 默认使用public static final修饰(可省略), 规范:常量名一般大写 接口中的常量供接口直接使用, 也可以供实现类使用 抽象方法 格式 public abstract 返回值类型 方法名(); 1.public abstract 可以省略(不建议) 2.供实现类实现, 实现类必须重写接口中所有抽象方法 jdk1.8额外包含: 默认方法 格式 public default 返回值类型 方法名(参数列表){} 1.使用default修饰, 不可省略, 供子类(实现类)调用或者子类(实现类)重写 2.若是实现类, 重写接口中的默认方法, 不需要加default 静态方法 格式 public static 返回值类型 方法名(参数列表){} 使用static修饰, 供接口直接调用, 不能使用实现类名调用和实现类对象调用 jdk1.9额外包含: 私有方法 格式 private 返回值类型 方法名(参数列表){} 使用private修饰, 供接口中的默认方法使用 私有静态方法 格式 private static 返回值类型(参数列表){} 使用private static修饰, 供默认方法, 静态方法, 私有方法和私有静态方法使用 接口和类之间的关系: 实现关系 格式 public class 实现类名 implements 接口A,接口B,...{}
单实现:一个类实现一个接口 多实现:一个类实现多个接口 多实现中抽象方法的特点 1.多个接口中有不同名的抽象方法, 必须全部实现 2.多个接口中有同名的抽象方法, 只需要实现一个 多实现中默认方法的特点 1.多个接口中有同名的默认方法, 必须重写 2.多个接口中有不同名的默认方法, 正常使用, 不需要重写 多实现中静态方法的特点 只能供接口使用, 无影响 多实现中私有方法的特点 只能供接口使用, 无影响 接口和接口之间的关系: 继承关系 格式
public interface 接口A extends 接口B, 接口C,..{}
单继承:一个接口只继承一个接口 多继承:一个接口继承多个接口 多层继承:一层层继承
接口和类的优先级: 格式 public class 实现类 extends 父类 implements 接口名1, 接口名2,...{} 当一个类, 既继承一个父类, 又实现若干个接口, 父类的成员方法与接口中的默认方法重名, 子类就近选择父类的成员方法
|