JVAV学习笔记(二)—接口

2023-05-16

JVAV学习笔记(二)—接口

abstract class AbsDemo
{
abstract void show1();
abstract void show1();
}

interface Inter
{
public static final int NUM = 4;
public abstract void show1();
public abstract void show1();
}

接口中的成员和class定义的不同之处:
接口中常见的成员有两种:
1.全局常量
2.抽象方法
而且都有固定的修饰符。共性:成员都是public修饰的。
接口的特点:
1.接口不可以实例化。
2.需要覆盖了接口中的所有的抽象方法的子类。才可以实例化。否则,该子类还是一个抽象类。
3.接口是用来被实现的。

接口的好处:
多继承可以让子类具备更多的功能
弊端:调用的不确定性
class Zi extend Fu1,Fu2
{}
Java中不直接支持多继承,而是对该机制进行改良。
通过接口来解决问题,将多继承转化为多实现。
interface InterA
{}
interface InterB
{}
class SubInter implements InterA,InterB
{}
一个类继承一个类的同时,还可以实现多个接口
class Zi extend Fu implements Inter
{}
Java中存在的多继承
interface A extends Inter1,Inter2
{}

问题:只需要部分功能,但是为了实例化,必须要全部实例化,好累!
回答:空实现,没有抽象方法的抽象类,方便创建接口的对象。
好厉害!

接口的思想:
1.扩展功能
2.暴漏出来的规则
3.降低了耦合性。解耦
接口的出现,一方在使用接口,另一方在实现接口

抽象类与接口
例子:
描述犬,里面有吃,叫,都是抽象的,具体由子类来完成
问题:定义成抽象类呢,还是接口呢
abstract class 犬
{
abstract void 吃();
abstract void 叫();
}
interface 犬
{
abstract void 吃();
abstract void 叫();
}
//添加一个功能。缉毒,单独描述一个功能犬
class 缉毒犬
{
void 吃(){}
void 叫(){}
void 缉毒(){}
}
缉毒犬是犬中的一种,is a关系。
犬用于描述所有犬的基本功能。用class定义。父类。犬不适合定义成接口。
class 缉毒猪
{
void 缉毒(){}
}
具备缉毒功能的有很多。缉毒功能需要抽取。抽取到类中,还是抽取到接口中?
不行,缉毒犬继承犬类,就不能继承其他类。因为类不能多继承。
Interface 缉毒
{
abstract void 缉毒();
}
class 缉毒犬 extends 犬 implements 缉毒
{}
这是可行的。


  • 类用于描述事物的共性的基本功能。
  • 接口用于定义事物的额外功能。

  • 抽象类中可以定义抽象和非抽象方法,子类中可以直接使用,或者覆盖使用。
  • 接口中定义都是抽象方法,必须实现才能用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JVAV学习笔记(二)—接口 的相关文章

  • 启动IntelRealsense的D435i没有数据输出的解决方法

    我在NVIDIA的NX上调试双相机的VIO时 xff0c 出现了一个问题 xff0c 在启动D435i后 xff0c 查看话题频率发现出现no new message的字样 我在包括github上寻找了很多资料和别人的解决方法 xff0c
  • windows下PX4飞行日志文件ulog转csv流程

    确保ulg文件可以使用FlightPlot等分析软件正常打开查看安装pyulog包 xff0c 开源地址 先安装anaconda xff0c 下载地址打开anaconda prompt 运行 pip install pyulog可通过在an
  • Windows平台对PX4源码进行编译的步骤

    主要使用到的工具就是PX4 Toolchain 1 首先去github上下载Toolchain安装包 xff0c 是一个 msi文件 xff0c 然后直接照着官网教程双击安装这个文件 注意最后的安装完成页有一个clone the PX4 r
  • ros多传感器融合

    转 xff1a http www rosclub cn post 1030 html 最近实验室老师在做一个多传感器数据采集实验 xff0c 涉及到了消息同步 所以就学习了ROS官网下的消息同步工具message filters http
  • 几种嵌入式RTOS的分析与比较

    1 4种操作系统的介绍 1 1 VxWorks VxWorks是美国WindRiver公司的产品 xff0c 是目前嵌入式系统领域中应用很广泛 xff0c 市场占有率比较高的嵌入式操作系统 VxWorks实时操作系统由400多个相对独立 短
  • 【python】python的命名规范:啥时候用驼峰啥时候用下划线啥时候用大写

    类属性 类方法 xff1b 私有属性 公有属性 xff1b 私有方法 公有方法 xff1b 静态属性 静态方法 xff1b python的命名规范 xx xx xx xff08 自用笔记 xff09
  • 修改Linux启动Logo(总结)

    修改Linux 启动Logo 完美 总结 1 修改启动Logo xff0c 换成自定义的图片 目的 xff1a 开机后显示自定义的图片 xff0c 替代小企鹅 xff08 1 xff09 准备一张 png 图片 xff08 2 xff09
  • 搞懂408数据结构中的结构体的定义

    对于一些跨考408的同学来说 xff0c 是不是经常会出现看见一些结构体的定义却不懂是什么意思 xff0c 或者让你定义一个节点类型时 xff0c 不懂各个部分的具体含义 希望这篇文章能够让你搞懂结构体到底是什么 xff0c 各个部分是什么
  • 无人机集群控制方案

    无人机集群控制方案 集群控制简介 多机器人群体控制系统一般分为集中式控制结构和分布式控制结构 集中式控制结构 xff1a 一个主控单元 xff0c 集中掌握了环境中全局信息和所有机器人的信息 xff0c 进行集中式处理任务与资源分配由主控单
  • 谷粒学院学习知识点汇总-------01

    前言 谷粒学院视频的系列首先先是学习一波理论知识 xff0c 最后跟着视频敲一遍整个项目 xff0c 到部署项目上线 xff0c 给自己定个flag xff0c 一个月之内完成项目部署上线 一 事务 1 1事务是数据库操作最基本单元 xff
  • Ubuntu下vscode的简单配置C/C++环境

    下载vscode并安装 方法1 在ubuntu软件中搜索 vscode下载 xff0c 但是我失败了 方法2 直接去官网下载https code visualstudio com Download xff0c 下载Linux版本的并安装 方
  • ubuntu zip和unzip命令

    zip span class token operator span r myfile span class token punctuation span zip test span class token operator span un
  • 一、ROS2简介

    ros2相关简介 ROS2的前身是ROS xff0c ROS即机器人操作系统 xff08 Robot Operating System xff09 但是ROS本身并不是一个操作系统 xff0c 而是一个软件库和工具集 Ros的出现解决了机器
  • 二、ROS2基本操作

    ROS2节点 ROS2的节点讲究分工合作 xff0c 每个节点负责一个单独的模块化功能 举一个激光雷达的例子 xff0c 一个节点负责获取激光雷达的扫描数据 xff0c 一个节点负责处理激光雷达数据 xff0c 还有一个节点负责控制车轮转动
  • 六、ROS2通信机制(服务)

    一 服务介绍 客户端发送请求给服务端 xff0c 服务端可以根据客户端的请求做一些处理 xff0c 然后返回结果给客户端 这里与话题的主要区别就是 xff1a 话题是没有返回的 xff0c 适用于单向或大量的数据传递 而服务是双向的 xff
  • 作业4-8-5:HBase Shell插入数据:学生表、课程表、选课表

    现有以下关系型数据库中的表和数据 xff0c 要求将其转换为适合于HBase存储的表并插入数据 xff1a 学生表 xff08 Student xff09 keyRow 学号 xff08 S No xff09 姓名 xff08 S Name
  • 树莓派4B连接PCF8591模块

    1 PCF8591是8位的数模 模数转换集成芯片 xff0c 如图 1 xff08 详细介绍可以点击参考 xff09 图 1 PCF8591 2 AIN0 AIN3接模拟输入 xff0c 比如气体传感器 xff0c 能外接三个通道的模拟输入
  • “指定的网络名不再可用”解决办法

    主机操作系统 xff1a win10 linux操作系统 xff1a ubuntu22 04 在Windows下安装ubuntu xff08 wsl xff09 时 xff0c 出现 指定的网络名不再可用 xff0c 解决办法如下 xff1
  • Jetson xavier nx 安装CUDA10.2,和cudnn8.0

    2022 6 16更新 现在Jetson xavier nx 安装CUDA和CUDNN不需要下面那么复杂了 xff0c 可以直接通过刷机将其安装到设备上 在官网下载SDK Manager可以直接将CUDA烧录进设备 xff08 特别注意如果
  • 关于return用法时,return报错。

    在for循环里面return想要跳出全部循环时 xff0c 会报语法错误SyntaxError return outside function 原因是return只能写在def函数里面 没有def n span class token op

随机推荐

  • 联邦卡尔曼滤波

    联邦Kalman滤波 利用Kalman滤波技术对多传感器数据进行最优融合有两种途径 集中式Kalman滤波和分散化滤波 集中式Kalman滤波利用一个滤波器来集中处理所有子系统的信息 分散化滤波利用子滤波器处理子系统的信息通过全局滤波器实现
  • 教你10分钟完成智能小车的PID调速

    简介 这是我在CSDN上面的第一篇博客 xff0c 来分享一下我是如何用最短的时间进行智能小车的PID调速的 在疫情期间比较无聊 xff0c 在某宝买了一个智能小车底盘和一堆零件 xff0c 基于Arduino Due和树莓派进行开发 xf
  • 实战低通滤波和卡尔曼滤波

    目录 背景所需硬件与软件理论基础一阶低通滤波卡尔曼滤波 仿真验证实际验证总结 背景 滤波这个词对任何一个工科生都不会陌生 xff0c 尤其是做控制或者信号方面的从业者和学生 我们不仅可以通过硬件滤波也可以通过软件设计算法滤波 xff0c 这
  • matplotlib保存图片为pdf格式,文字以字体形式保存,可以illustrator编辑,而不是喵点格式。

    用默认的 plt savefig xff08 xff09 保存的图片 xff0c 图利和label都是以瞄点保存的 xff0c 而不是以文字格式 这样在矢量图编辑中想要调整文字大小和字体时都不方便 使用mpl可以设置pdf图片文字以字体形式
  • 树莓派新系统无键盘安装与设置

    sudo raspi config 1 在Boot根目录下创建文件 xff1a wpa supplicant conf xff1a country 61 CN ctrl interface 61 DIR 61 var run wpa sup
  • 无人机自动驾驶软件系列 E01:OFFBOARD控制以及Gazebo仿真

    引言 https gaas gitbook io guide software realization build your own autonomous drone wu ren ji zi dong jia shi xi lie off
  • 一定能解决ROS系统 rosdep update超时问题de简单方法

    rosdep update命令使用 该方法是可以跳过sudo rosdep init初始化命令设置的 xff0c 前提是安装ros xff1a https blog csdn net weixin 44023934 article deta
  • 使用速腾雷达32线Helios和fast-LIO2算法建图(一)

    一 配置激光雷达数据 参考链接Ubuntu18 04 安装速腾聚创最新驱动RSLidar SDK采集XYZIRT格式的激光点云数据 SLAM不学无术小问题 下载驱动文件内部也有使用说明 第一步 xff1a 下载rslidar sdk xff
  • linux下发各种协议包及其详细分析

    申明 xff1a 本实验在一个虚拟机环境下完成 xff0c ip分别为 192 168 26 1 和 192 168 26 132 一 以太帧格式的分析 1 抓取方法描述 在192 168 26 132浏览网页产生数据包 xff1b 通过w
  • 使用速腾雷达32线Helios和fast-LIO2算法建图(三)

    一 建图 1 源码下载 https github com hku mars FAST LIO 2 配置环境 步奏一 安装PCL gt 61 1 8 PCL的安装可以参考 可选 xff0c 建议考虑不用安装 https blog csdn n
  • Ubuntu 18.04 安装RealSense D435教程

    1 更新内核 运行代码 uname r 如果 gt 61 4 4 0 50的版本则ok xff0c 否则需要升级内核 2 更新cmake xff08 需要3 6以上版本 xff09 xff08 需要科学上网 xff09 首先下载cmake
  • Ros 与 STM32 之Ros串口同设备USB固定

    研究后发现Ros与STM32 都是通过串口 TTL转USB 的方式连接到USB A xff1a 有两种形式 一种 使用 ros kinetic serial 中的py 包用的ROS的serial功能包 B xff1a 另一种则是使用编写的c
  • ROS 动态参数 实时调参方式

    前言 xff1a 开发者常常需要动态调整参数以查看机器人在不同参数下的性能表现 xff1b 无论是通过YAML 文件配置参数还是通过节点句柄操作参数 xff0c 都会面临一个问题 xff0c 如果节点不主 动查询参数值 xff0c 就无法获
  • 上下文切换的概念

    上下文切换 xff08 也可以称作进程切换或任务切换 xff09 xff0c 它指的是 CPU 从一个进程 xff08 或线程 xff09 切换至另一个进程 xff08 或线程 xff09 上下文指的是某一时间点 CPU 寄存器和程序计数器
  • 多旋翼-六轴硬件选型

    挑战杯所用六轴 机架 定 桨叶机重 定 拉力 xff08 机重除以0 4 xff09 拉力 电池 桨叶 定 电机定 电调
  • 基于51的扫地车

    51复习 AT89S51系列单片机的ISP下载是通过P15 P16 P1 7 RST引脚来下载的 xff0c 而宏晶国产STC单片机则具有串口ISP功能 xff0c 可直接使用串口 xff0c 将程序下载进单片机 40个引脚 https b
  • pix2.4.8 从入手到装机(2021.4.4)

    2023 2 10 我重新完完整整的又走了一次 xff0c 记录了一下过程 xff1a 飞控是pix2 4 8 xff0c 固件是APM 原文 xff1a 咸鱼入手2套辣鸡pix xff0c 第一次使用并检查硬件好坏 xff0c 确认是否退
  • 焊板常用元器件(2021.4.6)

    钽电容 正负 xff1a 有线一端为正级 耐压 xff1a 2 Led Key buzzer 按键 xff1a 对角线焊到电路中 灯 xff1a 绿条是负 蜂鸣器 xff1a 区分有无源 xff0c 引脚 xff0c 有正负为有源 xff0
  • 恒温箱课程设计(2021.4.12)

    第一步 方案选择 淘宝闲鱼csdn 主要难点在于 xff1a 小控大是难点 xff0c 对执行器和驱动的选择 最终 电磁和固态继电器都不行 xff0c 要可控相位的继电器 xff0c 太贵了 只能固态了 xff0c if控制 xff0c 效
  • JVAV学习笔记(二)—接口

    JVAV学习笔记 xff08 二 xff09 接口 abstract class AbsDemo abstract void show1 abstract void show1 interface Inter public static f