1.接口介绍

日常生活中有很多接口,比如手机数据线的接口和手机充电器的接口

我们转换视角,站在设计者的角度思考接口,接口体现出规则,手机的接口大小和数据线的接口大小必须一致,各种接口的大小都要一致,都具有规则

所以,接口的本质就是设定规则

代码当中又该如何设定规则?

仔细一想,抽象方法不就有规则吗,子类继承后就必须进行重写。

2.接口定义:如果一个类中,只存在抽象方法,那么这个类存在的意义就只有声明规则,这种类我们会将它设计为java中的接口

1.接口定义格式



2.接口不能实例化

接口中只有抽象方法,创建对象出来没有任何意义

3.接口的使用

既然接口不能实例化,那该如何使用呢?仔细想想,既然接口是制定规则,那么我们就需要找人来遵守规则,所以我们要找类来实现接口



.

当子类实现了接口后,就必须按照它的规则执行,即要重写接口的抽象方法

4.实现类(接口的子类)

我们可以把实现接口认为是认干爹,干爹也是爹,所以也会继承到接口里面的所有抽象方法

所以我们要么重写抽象方法,要么就给抽象方法一个生存环境,把实现类也改为抽象类(不推荐,麻烦)

接口介绍以及定义和使用--java进阶day02的更多相关文章

  1. Java进阶篇(一)——接口、继承与多态

    前几篇是Java的入门篇,主要是了解一下Java语言的相关知识,从本篇开始是Java的进阶篇,这部分内容可以帮助大家用Java开发一些小型应用程序,或者一些小游戏等等. 本篇的主题是接口.继承与多态, ...

  2. Java进阶(三十六)深入理解Java的接口和抽象类

    Java进阶(三十六)深入理解Java的接口和抽象类 前言 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相似的地方,又有太 ...

  3. Apache Solr 初级教程(介绍、安装部署、Java接口、中文分词)

    Python爬虫视频教程零基础小白到scrapy爬虫高手-轻松入门 https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.482434a6E ...

  4. 我要告诉你:java接口中可以定义private私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  5. 【Java 8】函数式接口(二)—— 四大函数接口介绍

    前言 Java8中函数接口有很多,大概有几十个吧,具体究竟是多少我也数不清,所以一开始看的时候感觉一脸懵逼,不过其实根本没那么复杂,毕竟不应该也没必要把一个东西设计的很复杂. 几个单词 在学习了解之前 ...

  6. “全栈2019”Java第八十九章:接口中能定义内部类吗?

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. 菜鸡的Java笔记 第二十四 - java 接口的基本定义

    1.接口的基本定义以及使用形式        2.与接口有关的设计模式的初步认识        3.接口与抽象类的区别                 接口与抽象类相比,接口的使用几率是最高的,所有的 ...

  8. go语言之进阶篇文件常用操作接口介绍和使用

    一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对 ...

  9. Java进阶2 数组内存和对象的内存管理知识

    Java进阶2 数组内存和对象的内存管理知识 20131028 前言: 在面试的时候,如果是Java的编程语言,也许你认为没有什么可以问的,只能够说明你对于Java了解的太浅了,几乎就是两个星期的节奏 ...

  10. 为什么这些java接口没有抽象方法?浅谈Java标记接口

    在jdk的源码中,存在这样的一些接口,他们不包含任何的(抽象)方法,但是却广泛的存在. 这种接口我们称之为Mark Interface,也就是标记接口. 这些接口呢,我们不用来实现任何的方法,他们的作 ...

随机推荐

  1. 【Windows】终端配置代理

    Windows cmd 设置代理 设置 HTTP 代理: set http_proxy=http://127.0.0.1:7890 & set https_proxy=http://127.0 ...

  2. 高性能的RTC服务器OpenFire

    <高性能的RTC服务器OpenFire>-第一章部署与源码调试 前言 OpenFire是什么,以及它能做什么?或许这是许多开发人员最关心的一个话题.简单来说,OpenFire是一个采用纯J ...

  3. 为什么使用ROS的remap标签不起作用?

    1. remap的作用 remap可以让ROS节点订阅发布的topic名字更换为另外一个名字.例如 <remap from="/old_topic" to="/ne ...

  4. Python · Jax | 在 python 3.8 上安装 jax,运行 offline RL 的 IQL

    致谢师兄的 jax 环境,完全按照师兄的 conda_env.yml 配置的 (如何导出其他环境的 conda_env.yml:Conda | 如何(在新服务器上)复制一份旧服务器的 conda 环境 ...

  5. not in 和 not exists 比较和用法

    尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询).查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引:而not exists的子查询依 ...

  6. 安装和配置CentOS9

    安装和配置CentOS9 一.下载CentOS9镜像文件 1.访问官网:首先,你需要访问CentOS的官网或阿里云镜像网站 2.选择版本:在官网上,选择CentOS9的64位操作系统版本进行下载. 3 ...

  7. Vue项目实战:构建你的第一个项目

    Vue项目实战:从零到一构建你的第一个应用 准备工作 在开始使用Vue之前,请确保您已经安装了Node.js 16.0或更高版本.Node.js是运行Vue项目所必需的JavaScript运行环境. ...

  8. oracle开启了审计功能,导致sysaux表空间满的问题

    查询是否开启审计功能 SQL> show parameter audit 如下图所示: AUDIT_TRAIL参数用于指定数据库审计跟踪信息的记录方式.它接受三个可能的参数:NONE,DB,OS ...

  9. 具体数学第六章习题选做(genshining)

    11.对于 \(n\ge 0\),求以下式子的封闭形式. \[\sum_k(-1)^k{n\brack k} \] 由于 \[\sum{n\brack k}x^k=x^{\overline n} \] ...

  10. Docker 容器的数据卷 以及 数据卷容器

    Docker 容器删除后,在容器中产生的数据还在吗? 答案是 不在 Docker 容器和外部机器可以直接交换文件吗? 在没有数据卷的情况下,答案是 不可以 如下图:外部机器:Windows系统(自己的 ...