Java -- 接口

Java -- 接口

基础语法

  • 接口属于引用数据类型,编译之后也是字节码文件

  • 接口完全抽象(抽象类是半抽象),可以理解接口是特殊的抽象类

  • 接口的定义方法

    [修饰符列表] interface 接口名{}
    
  • 接口支持继承,而且是多继承

    /*
    *   接口支持多继承
    */
    
    public class Test01{
    
        public static void main(String[] args) {
            
    
        }
    }
    
    interface A{
    
    }
    
    interface B{
    
    }
    
    interface C extends A, B{
        
    }
    
  • 接口中只包含两部分:常量、抽象方法【不信可以尝试其他】

  • 接口中的所有元素都是public修饰【都公开】

  • 接口中的抽象方法定义可以不用public abstract修饰符省略

  • 接口中抽象方法不能有方法体

  • 接口中的常量可以省略public static final修饰符

    /*
    *   接口
    */
    
    public class Test01{
    
        public static void main(String[] args) {
            
            System.out.print(MyMath.PI);
        }
    }
    
    // 数学接口
    interface MyMath{
    
        // 常量
        public static final double PI = 3.14;
        int K = 100;
    
        // 抽象方法
        public abstract int sum(int a, int b);
        double sum(double a, double b);
    }
    
  • 类与类之间是继承 extends,类和接口之间是实现 implements

  • 类实现接口时不要忘了实现其中的抽象方法,抽象类实现接口可以不用

    public class Test02{
    
        public static void main(String[] args) {
            
            MyMathImpl test = new MyMathImpl(); // 面向接口编程
            // 接口应用到多态中
    
            int result1 = test.sum(10, 20);
            System.out.println(result1);
    
            int result2 = test.sub(20, 10);
            System.out.println(result2);
        }
    }
    
    // 数学接口
    interface MyMath{
    
        double PI = 3.14;
        int sum(int a, int b);
        int sub(int a, int b);
    }
    
    class MyMathImpl implements MyMath{
    
        // 不能省略public,访问权限不能比实现接口中的实现方法更低
        public int sum(int a, int b) {
            return a + b;
        }
    
        
        public int sub(int a, int b) {
            return a - b;
        }
    }
    
  • 一个类可以实现多个接口

  • 这种机制弥补了Java中的什么缺陷?

    Java中类和类只支持单继承,但现实中更多的是需要多继承。

    Java中的接口弥补了这一缺陷

  • 继承与实现都在时,extends在前,implements在后

  • 接口通常提取行为动作

接口在开发中的作用

接口在开发中的作用,类似于多态在开发中的作用

多态:降低程序耦合度,提高程序的可拓展性,应该遵守OCP原则(对拓展开发,对修改关闭)

接口在开发中的作用:

  • 面向抽象编程,应该是面向接口编程

    有了接口就有可插拔【拓展性强】,不要焊死

  • 接口可以解耦合

  • 任何接口存在调用者和实现者,接口可以对两者进行调解

posted @ 2022-02-26 13:21  sha0dow  阅读(32)  评论(0编辑  收藏  举报