ooday07 Java_接口
阅读原文时间:2023年07月08日阅读:2
  1. 接口:

    • 是一种引用数据类型

    • 由interface定义

    • 只能包含常量和抽象方法------默认权限是public

    • 接口不能被实例化

    • 接口是需要被实现/继承,实现/派生类:必须重写所有抽象方法

    • 一个类可以实现多个接口,用逗号分隔,

      若又继承又实现时,应先继承后实现

    • 接口可以继承接口

    • 接口的意义:

      • 封装部分派生类共有的属性和行为,实现多继承
      • 制定了一个标准,一种规范

点击查看代码

  public class InterfaceDemo {
      public static void main(String[] args) {
          //Inter o = new Inter(); //编译错误,接口不能被实例化
          Inter5 o1 = new Doo(); //向上造型
          Inter4 o2 = new Doo(); //向上造型
      }
  }

  //演示接口的定义
  interface Inter{
      public static final int NUM = 5;
      public abstract void show();
      int COUNT = 5; //默认public static final   //接口中的成员默认访问权限是public
      void test(); //默认public abstract
      //int number; //编译错误,常量必须声明同时初始化
      //void say(){} //编译错误,抽象方法不能有方法体
  }

  //演示接口的定义
  interface Inter{
      public static final int NUM = 5;
      public abstract void show();
      int COUNT = 5; //默认public static final   //接口中的成员默认访问权限是public
      void test(); //默认public abstract
      //int number; //编译错误,常量必须声明同时初始化
      //void say(){} //编译错误,抽象方法不能有方法体
  }

  //演示接口的实现
  interface Inter1{
      void show();
      void test();
  }
  class Aoo implements Inter1{
      public void show(){} //重写接口中的抽象方法时,访问权限必须设计为public的
      public void test(){}
  }

  //演示接口的多实现
  interface Inter2{
      void show();
  }
  interface Inter3{
      void test();
  }
  abstract class Boo{
      abstract void say();
  }
  class Coo extends Boo implements Inter2,Inter3{
      public void show(){}
      public void test(){}
      void say(){}
  }

  //演示接口继承接口
  interface Inter4{
      void show();
  }
  interface Inter5 extends Inter4{
      void test();
  }
  class Doo implements Inter5{
      public void test(){}
      public void show(){}
  }