java基础总结(五)【接口、抽象类】
抽象 abstract
1.修饰类 --->抽象类
强制所有的子类去做一件事情,起到定义规则和规范的作用
特点: 不能创建对象!!!!!因为抽象类中可能有抽象方法, 而抽象方法没有方法体的, 但凡能创建对象,万一用户调用抽象方法, 没有任何意义, 所以不允许创建对象!!!!
2.修饰方法 ---> 抽象方法
特点:没有方法体, 必须在抽象类中或者接口中!!!!
接口 interface
作用:定义规则和规范
定义格式:
定义接口: public interface 接口名{}
interface Fu{} class Zi implements Fu{}
类和接口的关系是实现用到 implements
接口中的组成部分
1.静态常量 ---->在成员区域定义的变量其实默认被 public static final修饰,这个三个修饰可以省略不写
2.不能有构造函数 ----->因为接口中的方法都是抽象的, 成员变量都是静态常量, 都不需要初始化,所以接口设计的初衷是不需要构造函数
3.成员方法都是抽象的,默认被public abstract ,这个两个关键字可以省略
JDK1.8之后 接口的新特性
静态方法
格式: public static 返回值类型 方法名(参数列表){}
特点:只能直接通过接口名来调用,不能被实现类调用, 原因是: 一个类可以实现多个接口,怕多个接口出现相同的静态方法!!!!
默认方法
格式:public default 返回值类型 方法名(参数列表){ }
特点:只能创建实现类才能使用,多个接口中有默认方法冲突需要重写,其他不用重写, 多个接口中有默认方法冲突需要重写(原因一个可以实现多个接口,怕多个接口中有相同的默认方法,而方法体不一样,这样的尴尬现象);
私有方法
格式:
1.private 返回值类型 方法名(参数列表){ }
作用:抽取默认方法中共性的内容, 这个抽取的私有默认方法不会暴露给使用者
2.private static 返回值类型 方法名(参数列表){}
作用:抽象静态方法中的共性内容, 这个抽取的私有静态方法不会暴露给使用者
类和接口的关系
类与类 ---> 继承 extends, 单继承
类和接口 --->实现 implements 多实现
接口和接口 ---> 继承 extends 多继承

浙公网安备 33010602011771号