美文网首页
Java之接口

Java之接口

作者: 是归人不是过客 | 来源:发表于2020-09-01 17:53 被阅读0次

接口基础:

1、什么是接口: 接口也是一种引用类型,可以等同看做类

2、如何定义接口,语法:

[修饰符] interface 接口名 {}

3、接口其实是一个特殊的抽象类,特殊再接口是完全抽象的

4、接口中没有构造方法,接口也无法被实例化

5、接口和接口之间可以多继承

6、一个类可以实现多个接口。(这里的实现可以等同看作继承)

7、一个非抽象的类实现接口,需要将接口中所有的方法“实现、重写、覆盖”

8、接口中只能出现:常量、抽象方法

我们统一举个栗子(好好看吧):

public interface A{
    // 常量(必须用public static final 修饰)
    public static final String success = "success";
    public static final double PI = 3.14;
    // public static final是可以省略的
    byte MAX_VALUE = 127; // 常量
    
    // 抽象方法(接口中所有的抽象方法都是public abstract)
    public abstract void m1();
    
    // public abstract 是可以省略的
    void m2();
    
//  void m3() {}; 错误哦
//  A(){}; 错误哦
}
interface B{
    void m1();
}

interface C{
    void m2();
}

interface D{
    void m3();
}

interface E extends B,C,D{
    void m4();
}

// implements 是实现的意思,是一个关键字
// 一个类可以实现多个接口
class MyClass implements B,C{

    @Override
    public void m2() {
        // TODO Auto-generated method stub
        
    }

    @Override
    public void m1() {
        // TODO Auto-generated method stub
        
    }
    
}

接口作用:

1、可以使项目分层,所有层面向接口开发,开发效率提高
2、接口使代码和代码的耦合度降低,就像内存条和主板的关系,可插拔可以随意的切换

注意:

接口和抽象类都能完成某个功能,优先需求安泽接口。因为几口除了可以实现多继承,并且一个类除了实现接口之外,还可以去继承其他类,(保留了类的继承)

我们举个栗子(比较不好理解,认真体会)

汽车和发动机之间的接口
生产汽车的厂家面向接口生产
生产发动机的厂家面向接口生产

发动机接口:

public interface Engine {
    // 所有发动机都可以启动
    void start();
}

YAMAHA 面向Engine并实现接口:

public class YAMAHA implements Engine{
    @Override
    public void start() {
        // TODO Auto-generated method stub
        System.out.println("Y run go");
    }
}

HONDA 面向Engine并实现接口:

public class HONDA implements Engine{
    @Override
    public void start() {
        // TODO Auto-generated method stub
        System.out.println("H run go");
    }
}

生产汽车类Car面向Engine接口编程

public class Car {
    // 引擎
    // 面向接口编程
    Engine e;
    // Constructor
    Car(Engine e){
        this.e = e;
    }
    // 汽车能测试引擎
    public void testEngine() {
        e.start();// 面向接口调用
    }
}

测试类Test:

public abstract class Test{
    // 入口
    public static void main(String[] args) {
        // 1、生产引擎
        Engine e1 = new YAMAHA();
        
        // 2、生产汽车
        Car c = new Car(e1);
        
        //3、测试引擎
        c.testEngine();
        
        // 换HONDA
        c.e = new HONDA();
        
        c.testEngine();
    }
}

输出:

Y run go
H run go

在栗子中可看出接口使程序更加灵活

相关文章

  • MVP简单介绍和内部接口介绍

    【Android - 框架】之MVP模式的使用 Java中的内部接口 Java中接口中的方法定义规则 Java中的...

  • Java集合【7】——— List源码超级详细解析

    1.List接口的特性 java.util.List 接口继承于 Collection 接口,与Map最大的不同之...

  • java基础概念

    java_basic 介绍 java基础 三大特性之—封装 三大特性之—继承 三大特性之—多态 抽象 接口 深拷贝...

  • Java之接口

    接口基础: 1、什么是接口: 接口也是一种引用类型,可以等同看做类 2、如何定义接口,语法: [修饰符] inte...

  • JAVA之接口

    1、接口的概念 TODO 接口的定义使用interface,而非class TODO 接口中的方法,就是这个类型的...

  • 新视野——Java的接口

    对于Java系程序猿而言,大家对于接口一定不会陌生,毕竟经常与之打交道的。我们对于Java接口的功能和使用这里就不...

  • android JNI NDK入门

    1、JNI(Java Native Interface) Java本地接口,又叫Java原生接口。它允许Java调...

  • 深入理解Java接口

    从java接口是什么到为什么,理解java接口,主要解决三个问题 1.java接口是什么2.java接口为什么3....

  • Java学习之接口

    什么是接口? 一个Java 接口(interface)是一些方法特征的集合,这些方法特征来自于具体方法,这些方法符...

  • JAVA基础之接口

    关于接口(Interface)的定义,在JAVA中是一个抽象类型,一般一个类通过继承接口来继承接口中的方法。 Ja...

网友评论

      本文标题:Java之接口

      本文链接:https://www.haomeiwen.com/subject/qsmvsktx.html