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 多继承

    

posted @ 2020-01-17 14:53  indexLM  阅读(137)  评论(0)    收藏  举报