Java接口类学习笔记
在JDK9+的版本接口类中:
1、常量 格式:public static final 数据类型 常量名称 = 值;
名命规则:全部大写多个单词使用下划线分割(_)
eg:public static final int NUM_COUNT = 10;
注意事项:
1)、必须赋值,不能不赋值
2)、不可以改变,常量
3)、使用方式,接口类名.常量名称 eg: myInterface.NUM_COUNT
2、抽象方法:格式 public abstract 返回值类型 方法名(参数列表);
注意事项:
1)、继承该接口类之后必须全部重写所有的抽象方法
2)、如果有一个没有被重写,那么该实现类就必须是抽象类。
3、默认方法: 格式 public default 返回值类型 方法名(参数列表){方法体}
注意事项:
1)、实现类可以不重写该方法,实现类的对象可以直接使用对象调用该方法
4、静态方法:格式 public static 返回值类型 方法名(参数列表){方法体}
注意事项:
1)、静态方法不可被子类对象调用
2)、调用的格式:接口类名.方法名
5、私有方法:
A.普通私有方法: 格式 private 返回值类型 方法名(参数列表){}
注意事项:该类方法的存在是为了解决本类多个默认方法中有代码重复,从而从重复代码抽取的一个普通方法,减少程序代码量
A.私有静态方法: 格式 private static 返回值类型 方法名(参数列表){}
注意事项:该类方法的存在是为了解决本类多个静态方法中有代码重复,从而从重复代码抽取的一个普通方法,嫌少程序代码量
接口类使用注意事项:
1、接口类没有构造方法和static代码块
2、一个实现类可以继承多个接口类 格式 public class MyInterfaceImpl implements MyInterfaceA, MyInterfaceB(){}
3、一个类可以同时继承父类和接口类,如果两个类实现了相同的默认方法 ,父类的优先级大于接口类
4、实现类继承多个接口类,接口类有相同的默认方法的,那么一定要对有冲突的默认方法进行重写覆盖
5、如果多个接口类有相同的构造方法,只需要重写覆盖一次
6、如果实现类中有一个构造方法没有实现,那么该实现类就要是一个抽象类
7、接口与接口之间是多继承,接口也可以继承多个接口类
8、如果多继承接口类中出现相同的默认方法,那么要重写默认方法,且带上default修饰符 ,抽样方法没关系