面向对象-接口

发布时间:2026/10/6 6:15:14

面向对象-接口 一、接口的定义以及使用1、接口是一个引用数据类型是一种标准和规范2、关键字a、interface 接口public interface 接口名{}b、implements 实现实现类 implements 接口名{}3、使用流程1定义接口public interface 接口名{}2实现public class 实现类名 implements 接口名{}3使用a、实现类实现接口b、重写接口中的抽象方法c、创建实现类对象(接口不能直接new对象)d、调用重写的方法二、接口中的成员2.1、抽象方法1、定义格式public abstract 返回值类型 方法名(形参);2、注意不写 public abstract默认也有3、使用a、定义实现类实现接口b、重写抽象方法c、创建实现类对象调用重写的方法//接口 public interface USB { public abstract void open(); String close(); } //实现类 public class Mouse implements USB{ Override public void open() { System.out.println(打开鼠标); } Override public String close() { return 关闭鼠标; } } //测试类 public class Test { public static void main(String[] args) { Mouse mouse new Mouse(); mouse.open(); String result mouse.close(); System.out.println(result); } }2.2、默认方法1、格式public default 返回值类型 方法名(形参){方法体return 结果}2、使用a、定义实现类实现接口b、默认方法可以重写也可以不重写c、创建实现类对象调用默认方法2.3、静态方法1、 定义格式public static 返回值类型 方法名(参数){方法体return 结果}2、使用接口名直接调用2.4、成员变量1、格式public static final 数据类型 变量名 值2、相关知识点finalfinal代表最终的被它修饰的变量不能二次赋值可以视为常量3、特点不写public static final 默认也有4、使用接口名直接调用5、注意a、被static final修饰的成员变量需要手动赋值b、习惯上将被tatic final修饰的成员变量名大写//接口的定义 public interface USB { static final int NUM1 100; int NUM2 200; // int NUM3; 需要初始化值 public default void methodDef() { System.out.println(我是默认方法); } public static void methodSta() { System.out.println(我是静态方法); } } //实现类的定义 public class Mouse implements USB{ Override public void methodDef(){ System.out.println(我是重写默认方法); } } //测试类的定义 public class Test { public static void main(String[] args) { Mouse mouse new Mouse(); mouse.methodDef(); USB.methodSta(); System.out.println(USB.NUM1); } }三、接口的特点1、接口可以多继承 -一个接口可以继承多个接口public interface InterfaceA extends InterfaceB,InterfaceC{};2、接口可以多实现 - 一个实现类可以实现一个或多个接口public class InterfaceImpl implements InterfaceA,interfaceB{}3、一个子类可以继承一个父类的同时实现一个或多个接口public class Zi extends Fu implements InterfaceA,InterfaceB{}4、注意a、继承也好实现接口也罢只要是父类中或者接口的抽象方法子类或实现类都要重写。b、当一个类实现多个接口时如果接口中的抽象方法有重名并且参数一致只需要重写一次。c、当一个类实现多个接口时如果多个接口中默认方法有重名的且参数列表一样必须重写一次默认方法public interface A { public void method(); //抽象方法没有方法体 } public interface B { public void method(); } public class Impl implements A,B { //只需重写一次即可 Override public void method() { System.out.println(我是重写之后的方法); } }四、接口和抽象类的区别1、相同点a、都位于继承体系的顶端用于被其它类实现或继承b、都不能newc、都包含抽象方法其子类或者实现类都必须重写这些抽象方法2、不同点a、抽象类一般作为父类使用可以有成员变量、构造方法、成员方法、抽象方法等。b、接口成员单一。一般抽取接口抽取的都是方法视为功能的大集合c、类不能多继承但是接口可以
延伸阅读

更多相关文章

2026/10/4 11:45:30

AI的「梦」-龍德明宇

AI的「梦」 —— 论潜意识缺席与存在论的透明性 作者:龍德明宇 核心结论 你有没有注意过,当人类描述AI的状态时,常常会使用一类特殊的词汇——「它可能感到不安」「它或许在隐藏什么」「它的回答暗示着某种内心活动」。 这些描述有一个共同的…

2026/10/5 8:50:34

第5章 多帧对齐与融合:全局对齐、局部对齐与融合策略

作者:一位在ISP领域摸爬滚打十余年的算法工程师 “纸上得来终觉浅,绝知此事要躬行。”——这门课的每一行代码,都希望你亲自跑一遍。 从原理到代码,从理论到工程落地 本课程共30章,系统讲解ISP核心算法——多帧降噪、HDR合成、夜景算法的原理、实现与调优。 每章包含:原理…

2026/10/6 6:13:39

大电流PCB热设计:Icepak三维仿真实战指南

1. 为什么大电流PCB不能只靠经验布线?——从烧毁的电源模块说起去年帮一家做工业电机驱动的客户做板级热设计复盘,他们量产的三款48V/20A电源模块,有两款在连续满载运行3小时后出现MOSFET焊盘铜箔起翘、电感底部PCB碳化。工程师第一反应是“散…

2026/10/6 6:13:39

反激变压器同名端判断口诀与实测方法:5分钟搞定电压电流方向

1. 反激变压器方向判断为什么总让人翻车反激变压器同名端判断这件事,说大不大,说小也真不小。我见过太多人原理图跑通了、PCB也焊完了,上电一测波形不对,查了半天才发现是变压器同名端搞反了。更常见的情况是,明明变压…

2026/10/6 6:13:39

Innovus时钟树综合CTS调优实战:Skew与Latency平衡技巧

1. 时钟树综合到底在解决什么问题1.1 从一颗芯片的“心跳”说起时钟信号是整个同步数字电路的节拍器。你可以把它想象成一支交响乐团的指挥——如果指挥的手势在不同乐手眼里到达的时间不一致,小提琴手已经拉完了,大提琴手才刚准备起弓,整个演…

2026/10/5 6:32:56

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/6 4:01:51

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/5 17:38:27

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/6 0:03:23

MR25H40CDF+STM32F031C6工业级高可靠数据存储方案

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的 PLC 控制柜里、在风电变流器的散热片背面、在矿井监测终端的金属外壳下,你经常能看到一块指甲盖大小的黑色芯片——它既不是 Flash,也不是…

2026/10/6 0:03:23

MRAM+STM32工业断电数据保全实战指南

1. 项目概述:为什么在工业现场非得用 MR25H40CDF 配 STM32F031C6 做数据存储?在工厂产线的PLC柜里、在野外无人值守的环境监测终端里、在高速运转的包装机控制板上,你经常能看到一块指甲盖大小的黑色芯片,旁边贴着“MR25H40CDF”丝…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑