iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java接口的使用与原理是什么
  • 121
分享到

Java接口的使用与原理是什么

2023-06-29 11:06:00 121人浏览 独家记忆
摘要

这篇“Java接口的使用与原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java接口的使用与原理是什么”文章吧。何

这篇“Java接口的使用与原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java接口的使用与原理是什么”文章吧。

何为接口?

官方解释:

Java内的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

个人理解解释:

其实接口可以理解为一种特殊的类,这个类里面全部是由全局常量和**公共的抽象方法(需要重写)所组成。接口是解决Java无法使用多继承的一种手段。我们可以把接口理解为是一个100%的抽象类,既接口中的方法必须全部是抽象方法。反正接口里面都是方法,但是没有方法体,其他类实现这个接口后重写方法体即可。

为什么要用接口

  • 接口被用来描述一种抽象。

  • Java可以通过实现接口来弥补一个类不能多继承的局限

  • 接口也被用来实现解耦

  • 接口被用来实现抽象,而抽象类也被用来实现抽象,为什么一定要用接口呢?接口和抽象类之间又有什么区别呢?原因是抽象类内部可能包含非final的变量,但是在接口中存在的变量一定是final,public,static的。

接口怎么写?

创建接口的关键字:interface

实现接口的关键字:implements

public interface StudentTest {   //StudentTest:接口名称         public void Study();      //接口内的方法,在接口内不提供方法体。}//这就是一个简单的接口

实现接口:

public class student implements StudentTest{        @Override    public void Study(){        System.out.println("我继承了StudentTest,并重写了接口内的Study方法");    }}//测试类public class TestMain {    public static void main(String[] args) {        student s = new student();        s.Study();    }}

//输出:我继承了StudentTest,并重写了接口内的Study方法

//代码解释:
//1、用interface创建StudentTest接口,接口内有Study方法
//2、新建student类,用implements实现StudentTest接口
//3、重写Study()方法
//4、测试类测试

注意:实现一个接口,需要重写这个接口里面的所有方法!!!!

上述代码和解释完成了对接口的初步理解,下面我们对接口有个进一步的理解:

进一步理解接口:

在生活中,我们都有U盘,若要在电脑上对U盘进行读取和写入,我们需要使用USB接口。一台电脑有多个USB接口,所以我们先定义两个USB接口,并且有两个方法,分别是读取和写入:

//第一个USB接口public interface USB1 {       public void read_1();  //读取方法    public void write_1();  //写入方法}//第二个USB接口public interface USB2 {    public void read_2();  //第二个U盘的方法    public void write_2();}

然后我们有一个U盘,因为U盘使用的是标准USB接口,所以两个USB接口我们都可以进行读取和写入,U盘类就实现了USB1和USB2两个接口,并重写了方法:

package instance_test;public class YOUPAN implements USB1,USB2{    @Override    public void read_1() {            System.out.println("这是用第一个USB的读取接口");    };    @Override    public void write_1() {            System.out.println("这是用第一个USB的写入接口");    };    @Override    public void read_2() {            System.out.println("这是用第二个USB的读取接口");    };    @Override    public void write_2() {            System.out.println("这是用第二个USB的写入接口");        };    }//意思是U盘只要符合USB接口标准,使用任意一个都可以操作方法

然后我们开始使用两个接口:

测试类:

public class Test_Main {    public static void main(String[] args) {        YOUPAN y = new YOUPAN();        y.read_1();        y.write_1();        y.read_2();        y.write_2();    }}

结果:

然后我们现在有一部手机,有根数据线,数据线两头分别是USB和Type_C,若要用数据线对手机进行充电和更新数据,就同时要实现USB和Type_C两个接口,所以我们新建一个Type_C接口:

public interface Type_C {     //Type_C接口    public void Charge();    //充电    public void Update();   //更新数据}

然后新建一个手机类,有根数据线,并且实现了USB接口和Type_C接口:

public class phone implements USB1,Type_C{   //数据线实现 USB1,Type_C接口        @Override    public void read_1() {    System.out.println("手机用第一个USB的接口和")    //数据线使用USB接口的同时,会给一句提示语    }    @Override    public void write_1() {    System.out.println("手机用第一个USB的接口和")    }    @Override    public void Charge(){        System.out.println("使用Type_C接口充电");        //数据线使用Type_C接口的同时,会给一句提示语    }    @Override    public void Update(){        System.out.println("使用Type_C接口更新数据");    }}

接着测试手机类:

public class Test_Main {    public static void main(String[] args) {        phone p = new phone();        p.read_1();        p.Charge();        System.out.println("----------------");        p.read_1();        p.Update();    }}

结果:

这样一个类就实现了对多个接口的实现,恰恰解决了Java中类不能继承多个父类的局限性!!

接口的总结:

  • 不能直接实例化接口,因为接口内方法都是抽象的,没有方法体,需重写

  • 一个类可以实现多个接口

  • 一个类如果要实现某个接口的话,那么它必须要实现这个接口中的所有方法

  • 接口中所有的方法都是抽象的和public的,所有的属性都是public、static、final的

  • 接口用来弥补类无法实现多继承的局限

  • 接口也可以用来实现解耦(关于解耦可以参考这篇文章:解耦的理解)

  • 接口也可以继承,并且可以多继承(没错,接口可以多继承!)

public interface USB3 extends USB1,USB2{} //这句多继承语法是OK的

大家看到这里,已经知道接口也是一个抽象的,那么接口和抽象类有什么区别呢?

接口和抽象类的区别(这也是面试题,整理自互联网):

抽象类和接口的对比:

  • 抽象类是用来捕捉子类的通用特性的。接口是抽象方法的集合。

  • 从设计层面来说,抽象类是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。

两者的相同点:

  • 接口和抽象类都不能实例化

  • 都位于继承的顶端,用于被其他实现或继承

  • 都包含抽象方法,其子类都必须覆写这些抽象方法

两者不同点:

Java接口的使用与原理是什么

备注::Java8中接口中引入默认方法和静态方法,以此来减少抽象类和接口之间 的差异。 现在,我们可以为接口提供默认实现的方法了,并且不用强制子类来实现它。 接口和抽象类各有优缺 点,在接口和抽象类的选择上,必须遵守这样一个原则:

  • 行为模型应该总是通过接口而不是抽象类定义,所以通常是优先选用接口,尽量 少用抽象类

  • 选择抽象类的时候通常是如下情况:需要定义子类的行为,又要为子类提供通用 的功能。

以上就是关于“Java接口的使用与原理是什么”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Java接口的使用与原理是什么

本文链接: https://www.lsjlt.com/news/324620.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java接口的使用与原理是什么
    这篇“Java接口的使用与原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java接口的使用与原理是什么”文章吧。何...
    99+
    2023-06-29
  • java调用接口的原理是什么
    Java调用接口的原理是通过接口的实现类来实现接口的方法。当一个类实现了一个接口,它必须实现接口中声明的所有方法。然后可以通过创建实...
    99+
    2023-10-09
    java
  • 精通Java接口的使用与原理
    接口基础知识 为什么需要接口 需求:要求实现防盗门的功能,门有“开”和“关”的功能,锁有“上锁”和&ldquo...
    99+
    2024-04-02
  • Java多态与抽象类的使用与原理是什么
    这篇文章主要介绍“Java多态与抽象类的使用与原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java多态与抽象类的使用与原理是什么”文章能帮助大家解决问题。我们知道Java的三大特性:封装...
    99+
    2023-06-29
  • Java中接口隔离原则是什么
    小编给大家分享一下Java中接口隔离原则是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.什么是接口隔离原则?客户端不应该依赖它不需要的接口,即一个类对另一...
    99+
    2023-06-29
  • Flask接口签名sign原理是什么
    这篇文章主要介绍“Flask接口签名sign原理是什么”,在日常操作中,相信很多人在Flask接口签名sign原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Flask接口签名sign原理是什么”的疑...
    99+
    2023-07-05
  • Java OOP 核心原理:接口与抽象类的作用
    Java OOP 接口 抽象类 多态性 接口 接口在 Java 中定义了一组方法,但没有提供它们的实现。它们用于定义类的合同,强制类实现这些方法。接口通过 "implements" 关键字实现。 public interface An...
    99+
    2024-03-03
    面向对象编程(OOP)中的接口和抽象类是至关重要的概念 它们提供抽象和多态性 使代码更灵活、更可维护。本文将深入探讨 Java 中接口和抽象类的作用和用法。
  • SSH原理是什么与怎么使用
    这篇文章主要介绍“SSH原理是什么与怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SSH原理是什么与怎么使用”文章能帮助大家解决问题。ssh-key密钥常用来管理我们的git仓库,gitla...
    99+
    2023-06-27
  • Java的Synchronized原理与Callable接口实例分析
    这篇“Java的Synchronized原理与Callable接口实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Ja...
    99+
    2023-06-29
  • Java List 接口的作用是什么
    本篇内容主要讲解“Java List 接口的作用是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java List 接口的作用是什么”吧!目录源码展示源码展示package jav...
    99+
    2023-06-20
  • mybatis中mapper接口的工作原理是什么
    MyBatis中的Mapper接口是用于定义SQL映射的接口。它的工作原理可以分为以下几个步骤:1. 定义Mapper接口:创建一个...
    99+
    2023-08-08
    mybatis mapper
  • Spring中Aware接口的实现原理是什么
    今天就跟大家聊聊有关Spring中Aware接口的实现原理是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。使用示例:@Component&nbs...
    99+
    2024-04-02
  • java serializable接口的作用是什么
    Java中的Serializable接口是一个标记性接口,它没有任何方法,仅用于标识一个类的实例可以被序列化和反序列化。 Seria...
    99+
    2023-10-25
    java
  • java comparable接口的作用是什么
    Java的Comparable接口是一个泛型接口,用于对实现它的类的对象进行排序。它定义了一个compareTo()方法,该方法用于...
    99+
    2023-09-20
    java
  • java接口指的是什么
    这篇文章主要介绍java接口指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!接口概念    官方解释:Java 接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法...
    99+
    2023-06-27
  • C#显式实现接口原理是什么
    这篇文章主要介绍“C#显式实现接口原理是什么”,在日常操作中,相信很多人在C#显式实现接口原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#显式实现接口原理是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-17
  • java连接池的工作原理是什么
    连接池是一种管理数据库连接的技术,它在应用程序初始化时创建一定数量的数据库连接并保存在连接池中,应用程序需要数据库连接时,直接从连接...
    99+
    2023-09-13
    java
  • java中Callable接口的作用是什么
    java中Callable接口的作用是什么?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象...
    99+
    2023-06-14
  • java中Runnable接口的作用是什么
    本篇文章给大家分享的是有关java中Runnable接口的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Java是什么Java是一门面向对象编程语言,可以编写桌面应用...
    99+
    2023-06-14
  • java中serializable接口的作用是什么
    在Java中,Serializable接口的作用是允许一个类的对象可以被序列化和反序列化。当一个类实现了Serializable接口...
    99+
    2023-08-18
    java serializable
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作