当前位置: 首页 > article >正文

Java入门16——接口

我们今天来学习接口,和继承有点像,话不多说,开始正题~


一、接口

1.为什么要用接口

接口其实和继承很像,但是继承是 is-a 的关系,接口是 has-a 的关系,而且继承只能是一对一的关系,但是接口可以一对多,子类可以有多个接口,会方便许多,而且也体现出了多态性,更灵活

2.接口的语法——interface

首先我们来看一下,如何定义一个接口,示例如下:

public interface Animal {
    
}

这样,我们就定义出了一个名字为Animal的一个接口

3.接口使用——implements

我们知道接口既然是 has-a 的关系,我们就一定会在接口里面抽象出其它类里面的共有属性(方法),比如说动物都会呼吸,那么我们就可以这样写:

public interface Animal {
    void breathe();
}

那么为什么不写成具体的方法呢?答案是接口当中不能具体的实现一个方法,除非用default修饰 

接口中的方法默认是public和abstract(抽象)的,所以在定义方法时可以省略这些修饰符。接口中的变量默认是public 、static和final(常量)

那么我们再定义一个子类来接上这个接口~

public class Bird implements Animal{
    @Override
    public void breathe() {
        System.out.println("Bird");
    }
}

大家注意!这里必须要重写接口中的方法!!!如果不重写,就把当前类改为抽象类~

那么我们怎么调用这个方法呢?我们写一个test类来测试一下~

public class test {
    public static void main(String[] args) {
        Bird bird = new Bird();
        bird.breathe();
    }
}

这样我们就可以调用了

如果想继承多个接口,它的格式是这样的:

public class Bird implements Animal,另一个接口的名字{
    @Override
    public void breathe() {
        System.out.println("Bird");
    }

    重写另一个接口当中的方法~
}

二、继承和接口的对比

此处我们用一个表格给大家演示~

看完表格就比较容易区分继承和接口,下次用的时候也会有选择的用了


今天就到这里啦~

加油


http://www.kler.cn/a/393676.html

相关文章:

  • HTTP 客户端怎么向 Spring Cloud Sleuth 传输跟踪 ID
  • 数字后端教程之Innovus report_property和get_property使用方法及应用案例
  • 【安全通信】告别信息泄露:搭建你的开源视频聊天系统briefing
  • 陪诊问诊APP开发实战:基于互联网医院系统源码的搭建详解
  • Golang | Leetcode Golang题解之第559题N叉树的最大深度
  • NAT网络工作原理和NAT类型
  • exo - 使用日常设备运行AI集群
  • Linux 系统上部署 RabbitMQ
  • Python 正则表达式进阶用法:分组与引用详解
  • 数据挖掘在金融交易中的应用:民锋科技的智能化布局
  • Linux:进程概念
  • dto,vo这些有什么用
  • 万字长文解读深度学习——Transformer
  • SpringBoot(4)- data整合
  • 实习冲刺Day21
  • JSX 是react 专有的吗
  • Simulink中Matlab function使用全局变量
  • 我们来学mysql -- EXPLAIN之select_type(原理篇)
  • Rocky9/Ubuntu使用pip安装python的库mysqlclient失败解决方式
  • C# 实现对指定句柄的窗口进行键盘输入的实现
  • C++研发笔记13——C语言程序设计初阶学习笔记11
  • MongoDB新版本安装配置教程(7.0.15版本-zip下载)
  • 构建Spring Boot编程训练系统:全面指南
  • springboot初体验
  • [Docker#5] 镜像仓库 | 命令 | 实验:搭建Nginx | 创建私有仓库
  • 加入GitHub Spark需要申请