JAVA接口类-interface

Java之接口详解【一篇搞定】 接口是对Java单继承的补充。Java只支持单继承(亲爹唯一),如果在开发过程中想额外增强类的功能,可以借助接口实现(可以拜师,拜多个师傅也可以)。 阅读详情

目录

引言

一,接口类的语法结构和定义

二,接口的特点

三,接口实现类implements

四,接口类使用实例


引言

        Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。为了克服Java单继承的缺点,Java使用了接口,一个类可以实现多个接口。

一,接口类的语法结构和定义

[修饰符列表] interface 接口名{

        java语句

}

接口声明使用interface关键字 interface Api{}

java 1.7 之前的接口规则:接口 = 常量 + 抽象方法

java 1.8 接口新定义规则:接口 = 常量(多个) + 抽象方法(多个) + default实现方法(多个) + static实现方法(多个)

java 1.8 接口函数式接口规则: 接口 = 常量 + default实现方法 + static实现方法 + 抽象方法(有且 只有一个抽象方法)

二,接口的特点

  • 用 interface 来定义。
  • 接口也是一种引用数据类型
  • 接口中的所有成员变量都默认是由public static final修饰的。
  • 接口中的所有方法都默认是由public abstract修饰的。
  • 接口没有构造方法。构造方法用于创建对象
  • 实现接口的类中必须提供接口中所有方法的具体实现内容。
  • 多个无关的类可以实现同一个接口
  • 一个类可以实现多个无关的接口
  • 与继承关系类似,接口与实现类之间存在多态性
  • 接口也可以继承另一个接口,使用extends关键字。
  • 实现接口的类中必须提供接口中所有方法的具体实现内容。
  • 多个无关的类可以实现同一个接口
  • 一个类可以实现多个无关的接口
  • 与继承关系类似,接口与实现类之间存在多态性

三,接口实现类implements

        为了克服Java单继承的缺点,Java使用了接口,一个类可以实现多个接口。在java语言中,接口由类通过关键字implements来实现,以便使用接口中的方法。实现多个接口用逗号隔开。

  • 实现类是针对接口来讲的。
  • 实现类就是来实现接口中约定的内容。(通过重写方法)
  • 实现通过关键字implements来实现的。

示例如下:

编写一个接口:

public interface Animal {
    public String name();
     public String acion();
     public int pf(int i);
}

编写一个实现类

public class Absract1 implements Animal {
    @Override
    public int pf(int i) {
        return i*i;
    }

    @Override
    public String name() {
        return "我的名字叫";
    }

    @Override
    public String acion() {
        return "我擅长";
    }
}

编写一个测试类如下:

public class AnimalTest {
    public static void main(String[] args) {
        Absract1 an=new Absract1();
        System.out.println(an.pf(5));
        System.out.println(an.name());
        System.out.println(an.acion());
    }
}

输出结果如下:

四,接口类使用实例

接口使用的过程为:

1,声明接口类,在接口类内编写常量,方法等

2,声明实现接口类(implements),实现接口,重写接口类的方法

3,声明测试类,在测试类内实例化实现类,调用实现类内的方法

public class InterfaceTest {
    public static void main(String[] args) {
        // 全局变量可以直接调用
        System.out.println(Flyable.MAX_SPEED);

        // 实例化实现类Plane
        Plane plane = new Plane();
        plane.fly();
        plane.stop();

        // 实例化实现类Bullt
        Bullet bullet = new Bullet();
        bullet.fly();
        bullet.stop();
        bullet.att();
    }
}

// 飞接口
interface Flyable{

    // 全局常量
    public static final int MAX_SPEED = 7900;
    int MIN_SPEED = 1;

    // 抽象方法
    public abstract void fly();
    void stop();

}

// 攻击性接口
interface Attackable{

    // 抽象方法
    public abstract void att();

}


/**
 * 飞机实现类
 */
class Plane implements Flyable{
    @Override
    public void fly(){
        System.out.println("使用引擎起飞");
    }

    @Override
    public void stop(){
        System.out.println("驾驶员减速降落");
    }
}


/**
 * 风筝实现类
 */
class Kite implements Flyable{
    @Override
    public void fly(){
        System.out.println("乘风而飞");
    }

    @Override
    public void stop(){
        System.out.println("收线降落");
    }
}


/**
 * 子弹实现类
 */

 class Bullet implements Flyable,Attackable{
    @Override
    public void fly(){
        System.out.println("biubiubiu");
    }

    @Override
    public void stop(){
        System.out.println("papapa");
    }

    @Override
    public void att(){
        System.out.println("攻击性");
    }
 }

// 接口的多继承

interface A extends Flyable,Attackable{

}

参考:(13条消息) Java语言基础-接口与实现类_寒 暄的博客-优快云博客

Java基础之接口(interface)详解 对接口的一些简单描述,具体还要根据代码详细看 阅读详情

相关推荐

Java中什么是接口(interface)?

关于Java中接口的理解、定义和使用以及接口体现多态性,两道简单拍错题,一道简单课后题、

小贺想改变 3026

面向对象(接口)

目录 接口:概述 1.1接口的特点 1.2定义Java类的语法格式 接口举例 接口定义举例 接口代码举例 接口:概述 接口就是规范,定义的是一组规则,体现了现实世界中“如果你是/要...则 必须能...”的思想。继承是一个"是不是"的关系,而接口实现则是 "能不能" 的关系。 接口的本质是契约,标准,规范,就像我们的法律一样。制定好后大家都 要遵守。 接口(interface)是抽象方法和常量值定义的集合。 1.1接口的特点 1.用interfa............

qq_61616157的博客 1063

new delete 详解

常规的new 和 delete 当需要内存时,可以使用new申请内存,但在用完内存时应当使用delete 去归还内存,以防止内存泄漏,具体使用方案见下面代码: int* ps = new int ; // 使用new 申明变量空间 ... ... delete ps ; '// delete 删除所申明的变量空间 上述代码将删除ps 指针指向的内存空间,但不会删除指针本身,即仍然可以使用该指针去指向其他int 类型的变量。new 和 delete 一定需要成对的使用否则极易发生内存泄漏。 注意:不

qq_42138448的博客 6938

java中的接口interface

java中的接口interface 接口(interface)是抽象方法和常量值的定义的集合。 从本质上讲,接口是一种特殊的抽象类,这种抽象类值包含方法和常量的定义,没有变量和方法的实现。 TestInterface.java //唱歌的接口 interface Singer { //唱歌 public void sing(); //睡觉 public void sl...

Mao的博客 1073

Oracle EBS财务模块(三)总账功能

(一)总账管理系统主要功能  总账管理系统(Oraclegeneralledger)是一个公司一切账务系统的核心,它好比是公司会计信息的中央处理器。总账管理系统提供了一个完整的财务管理核算及分析流程。它是所有子账户的信息存储器,因此反映了所有子账户的财务和现金活动。总账管理系统的主要作用是记录公司的财务活动,并生成财务报表和管理报表,以帮助公司内外人士进行决策。一个公司或组织的制造系统、项目管理系

苏南生的优快云博客 2万+

论文理解【LLM-OR】——【OptiMUS】Scalable Optimization Modeling with (MI)LP Solvers and Large Language Models

OptiMUS 把“自然语言→优化建模与求解”从单次生成改造成“结构化问题 + 多智能体协作 + 连接图检索”的模块化流程,并在更长更难的数据集上验证了这种结构化方法相对端到端 prompting 的优

佚失的诗篇 823

java中接口类interface的作用

在Java中,接口(interface)是一种定义了一组方法(方法签名)但没有实现的引用类型。接口中只定义方法的签名而不包含方法体,具体的实现由实现接口的类去完成。总的来说,接口在Java中的作用是定义一组规范,实现多态性,分离接口和实现,实现多继承以及定义常量。实现多继承:Java中的类只支持单继承,但是一个类可以实现多个接口。这使得接口成为一种在类之间共享功能的方式,通过实现多个接口,可以获得不同接口定义的多个功能。定义常量:接口可以定义常量,这些常量在实现类中可以直接使用。

Wzideng@qq.com 2234

Xtract or Ucfyber的最条理的整理入门级教程

XTRACT可以对任意截面进行全过程截面分析。工程中常用来分析各种截面(如异形柱、组合截面等)的非线性特征点及承载力校核。 xtract主要思路也是根据各种材料本构关系,基于平截面假定,用fiber划分截面进行全过程非线性分析。......

→★佐佑思维★← 8395

JAVA —— interface接口类

接口是多个类的公共规范。 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。 Java 7 :接口内容可以包含有常量,抽象方法; Java 8 :接口内容还额外包含有默认方法,静态方法; Java 9 :还额外包含有私有方法; 接口不能直接使用,必须要有一个实现类来实现接口 默认方法(default):用于解决接口升级(当你还想加入抽象方法时,用默认方法加入不影响其他实现类的实现),也可以被实现类覆盖重写。 静态方法(static):不能通过接口实现类的对象来调用接口当中的静态方法;通过接口名称,直

basinle的博客 247

医疗影像分析实战:肺炎X光片分类与分割

医疗影像分析实战:肺炎X光片分类与分割 ,人工智能,计算机视觉,大模型,AI,在医疗领域,医疗影像分析技术凭借其高效、精准的特点,成为疾病诊断与治疗的重要辅助手段。肺炎作为一种常见的呼吸道疾病,严重威胁人类健康,通过 X 光片对肺炎进行诊断是临床常用方法。利用计算机技术实现肺炎 X 光片的自动分类与分割,不仅能减轻医生的工作负担,还能提高诊断的准确性和效率。本文将深入讲解肺炎 X 光片分类与分割的实战过程,结合大量代码示例和关键概念解析,帮助读者掌握相关技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

【Unity 实用工具篇】✨| 使用Fungus插件制作一个对话系统,简单好学易上手

今天带来的是Unity中一款简单易用的对话插件Fungus,它是一个免费的交互式的对话系统。 Fungus是Unity免费的一款开源的插件,它可以无代码的实现玩家与NPC之间的对话,并且支持本地化,对相机、Sprite及音乐音效的控制。 学会使用该插件就可以做一些对话剧情类的游戏了,还是非常好用的,下面就来学习一下Fungus具体怎么使用吧!

努力前行,总会成为自己心中的那道光 1万+

Java interface接口类的详细介绍

interface接口类的详细介绍,特点及使用方法成员方法 , 和接口类的猫狗案例

阿博的博客 1188

MATLAB船舶开尔文尾迹三维仿真建模

开尔文尾迹介绍 Kelvin最早研究舰船在水面运动在水面上形成波纹的原理,主要针对静水中点源运动的尾迹问题,并给出尾迹的张角和波高分布情况。由 Kelvin 的理论,一般情况下假设由一个理想点源来代替舰船,开尔文尾迹由分歧波和横断波组成,分歧波向船的两侧扩散,而横断波主要向船的后方传播,在相遇的地方两波相干形成尖头波,且尖头波位于尾迹角16°到19.5°之间,又因为尖头波波长过短,以至于无法单独的区分出每个尖头波的波前,所有的波前在视觉效果上就连成一条直线表现为亮线,称为开尔文臂,开尔文臂以船身对称,且角度

qq_19512613的博客 3844

java 接口类定义常量_Java中定义常量方法及建议(Class/Interface)

Class定义常量方法(推荐方法)//final修饰符public final class Constants {//私有构造方法private Constants() {}public static final int ConstantA = 100;public static final int ConstantB = 100;......}采用“类.常量名”方法进行调用。需要私有化构造方法,...

weixin_36249804的博客 4417

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

hualinux java 1.13:接口类interface在什么情况下使用

目录 一、接口是制定标准的 二、接口的作用 2.1 不使用接口类实现 2.1.1 代码目录结构 2.1.2 实现代码 2.1.3 不使用interface实现分析 2.2 添加使用方式实现 2.2.1 目录结构 2.2.2 相关代码 2.2.3 优缺点 三、总结 发现不少初学者,看教程能看得懂,例子也能做出来,但是在实际项目中怎么操作,不懂!比如今天说的接口类interface。 看infterface教程相信都能看得懂,例子也能看明白,但是一问实际项目中什么情况下才要使用in.

hualinux(阿华的linux) 412

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java基础语法--接口和抽象类

接口类的关键字:interface,他的定义是:public interface 接口名{接口的实现}上面可知:Shape是一个接口类,里面有PI常量,诶?他不是被没被static final修饰吗?怎么是常量呢?待会来讲。好,初次之外还有计算面积的方法,但没有具体的实现,还有计算周长的方法也没有具体的实现,和一个形状的方法,但他有实现。发现了吗?有点类似于继承啊。我可以用接口类中的方法和常量,对的,那么有什么区别呢?我们先来看几个接口类的特点1.接口类中不能有普通的成员方法,但可以有default定义的方

codeking10086的博客 581

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

javascript java接口_JavaScript有接口类型(如Java的’interface’)吗?

没有“这个类必须有这些函数”的概念(即没有接口本身),因为:> JavaScript继承是基于对象,而不是类。这不是一个大问题,直到你意识到:> JavaScript是一种极其动态类型的语言 – 您可以使用适当的方法创建一个对象,这将使它符合接口,然后取消定义所有符合的东西。这将是那么容易颠覆类型系统 – 即使意外! – 它不值得尝试,并建立一个类型系统在第一位。相反,JavaScri...

weixin_39632379的博客 216

从 0 搞懂 C++ 接口类:纯虚函数完全解析(对标 Java Interface)

C++通过纯虚函数和抽象类实现Java接口功能。核心机制包括:1)使用virtual和=0声明纯虚函数;2)抽象类不可实例化;3)通过继承和多态(vtable机制)实现动态绑定。工程要点:虚析构函数、override标记、严格=0语法。典型应用于系统层接口设计(如HAL),实现厂商解耦。相比Java的interface关键字,C++采用更底层的虚函数机制提供相同功能。

Mark Wu 的博客 750

java 抽象接口类,Java接口(interface)和Java抽象类(abstract class)的区别(详诉版)

1.概述一个软件设计的好坏,我想很大程度上取决于它的整体架构,而这个整体架构其实就是你对整个宏观商业业务的抽象框架,当代表业务逻辑的高层抽象层结构合理时,你底层的具体实现需要考虑的就仅仅是一些算法和一些具体的业务实现了。当你需要再开发另一个相近的项目时,你以前的抽象层说不定还可以再次利用 。面对对象的设计,复用的重点其实应该是抽象层的复用,而不是具体某一个代码块的复用。面向对象设计的重点在于抽象,...

weixin_36266554的博客 298

01-java中“接口”的概念

java语言中,“接口” 有两种意思(两种含义):(1)概念性的接口:指系统对外提供的所有服务。(2)使用interface关键字定义的实实在在的接口:接口类型。姓名:万秦龙 邮箱:qinlong.wan@qq.com (630657353@qq.com) Q Q: 630657353

HymanW 379

python接口类型有哪些_Python-14-class 类的接口

Python 中的接口问题作为习惯了 java 语言的开发者来说,我首先想到的是,python 有接口吗?然后查了一下。大部分的解答如下:没有。在Python中没必要使用类似Java的interface。因为Python里有多继承和使用鸭子类型。在Python中,协议就是接口。例如上下文管理协议,只要实现了对应的__enter__, __exit__方法就实现了这个上下文管理协议。Java中的接口...

weixin_39933508的博客 655

c++ 接口类、纯虚类、抽象类的杂谈

这些东西都是思想层面的东西,不是语言层面的。 实际上,C++中并没有明确的接口的定义,与之等价的是纯虚类,既只有纯虚函数的类,而c++中抽象类的概念是,包含至少一个纯虚函数的类。由于java只支持单继承,所以出现了interface的定义,从而用来模拟多继承。 可以这样理解,按抽象程度递增的顺序说就是:普通类->抽象类(java中由abstract修饰的类)->接口(纯虚类)(java中interface修饰的类)。 参考《Effective C++》条款31和条款34: c++中int

flying_ant2018的博客 761

java 第12天 单例 接口

接口不能直接创建对象?抽象类中既可以出现普通方法也可以出现抽象方法。之后接口中允许出现普通方法 但是前面必须有。四大类型都能产生对应的.class文件。.synchronized 枷锁。4.@interface 注释类。接口可以间接创建对象【创建的同时。*懒汉式 尚不完善 需要枷锁。3.interface 接口类。抽象类中的属性都是普通属性。之后接口中允许出现私有方法。接口中的方法都是抽象方法。所有抽象方法全部实现】接口:多实现 多继承。2.enum 枚举类。

Miserables_的博客 620

接口应用实例 java_java接口的实例,java接口应用举例

相信大家对于java接口应该都不会陌生,下面给大家带来的也是一个java接口的实例,一起来看看吧。java接口实例首先的话,我们先在eclipse当中建立一个java项目,命名为Interface-example。之后,在项目的下面建名为test的包。之后按照下面的步骤进行。创建接口类Define文件,在项目上右键- New-Interface-输入接口名Define-finsh。在接口当中编写代...

weixin_34697150的博客 561

java访问windows注册表 method native_Yolo-v3目标检测—Java调用C++(JNI)

前言其实这篇文章重点在如何用Java的JNI调用C++的dll,记录一下,避免以后自己忘了.....原文发表在语雀文档上,排版更美观简介JNI—摘自百度百科JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++)。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。J...

weixin_32535389的博客 162
上一篇: JAVA抽象类,抽象方法
下一篇: JAVA时间戳-Calendar类(包括set,get,add方法)
涵冰...
博客等级 码龄4年 2438粉丝 243原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涵冰...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值