Java学习笔记(14):抽象和接口

    技术2022-07-12  83

    1、抽象 (1)抽象方法:父类当中的方法不确定如何进行具体的方法体实现。 (2)抽象类:抽象方法所在的类 (3)定义格式:

    1.抽象方法(必须在抽象类中才可以定义): public abstract 返回值类型 方法名称(); 2.抽象类: public abstract class 类名称{ 类内容; }

    (4)使用方法:

    不能直接创建抽象类对象;必须用一个子类来继承抽象父类;子类必须覆盖重写(子类去掉abstract关键字,然后补上方法体大括号)抽象父类中的所有抽象方法;创建子类对象进行使用;

      2、接口 (1)概念:接口就是多个类的公共规范标准,是一种引用类型,最重要的内容就是其中的抽象方法; (2)定义格式:

    public interface 接口名称{ 接口内容; }

    (3)接口的使用步骤:

    接口不能直接使用,必须有一个"实现类"来“实现”该接口; //实现类格式 public class 实现类名称 implements 接口名称{ } 接口的实现类必须覆盖重写接口中所有的抽象方法创建实现类的对象,进行使用

    (4)接口的抽象方法定义:

    接口当中的抽象方法,修饰符必须是两个固定的关键字:public abstract这两个关键字修饰符,可以选择性地省略方法的三要素可以随意定义 public interface MyInterfaceAbstract{ //这是一个抽象方法 public abstract void method1(); //这也是抽象方法 abstract void method2(); //这也是抽象方法 public void method3(); //这也是抽象方法 void method4(); }

    (5)接口的默认方法:

    接口当中的默认方法,可以解决接口升级的问题格式: public default 返回值类型 方法名称(参数列表){ 方法体; } 接口的默认方法,可以通过接口实现类对象,直接调用;接口的默认方法,可以被接口实现类对象覆盖重写;

    (6)接口的静态方法:

    格式: public static 返回值类型 方法名称(参数列表){ 方法体; } 使用方法: //通过接口名称,直接调用其中的静态方法 接口名称.静态方法名(参数);

    注: 不能通过接口实现类的对象来调用接口当中的静态方法。

    (7)接口的私有方法:

    格式: //普通私有方法:解决多个默认方法之间重复代码问题 private 返回值类型 方法名称(参数列表){ 方法体; } //静态私有方法:解决多个静态方法之间代码重复的问题 private static 返回值类型 方法名称(参数列表){ 方法体; }

    (8)接口的常量:

    格式: //接口当中的常量,必须进行赋值 public static final 数据类型 常量名称 = 数据值;

    注意事项: 1)、接口与接口之间是多继承的; 2)、一个类可以同时实现多个接口; 3)、接口没有静态方法代码块或者构造方法; 4)、如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次即可; 5)、如果实现类没有覆盖重写所有接口当中的所有抽象方法,那么实现类就必须是一个抽象类; 6)、如果实现类所实现的多个接口当中,存在重复的默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写; 7)、一个类如果直接父类当中的方法,和接口当中的默认方法产生了冲突,优先使用父类当中的方法; 8)、多个父接口当中的抽象方法可以重复,默认方法不能重复,若重复,那么子接口必须进行默认方法的覆盖重写,且要带着default关键字;

    Processed: 0.017, SQL: 10