【Java面向对象】Java接口详解

【Java基础】 Java面向对象之抽象类、接口详解 阅读详情

一句话描述接口:接口是一个特殊的抽象类。可以有多个父类,支持多继承,是一个比抽象类还抽象的类。

接口的语法格式

接口的语法格式:

interface 接口名 {
	抽象方法...
}

接口的特性

接口是一个比抽象类还抽象的类,接口相比抽象类特殊在:

  1. 接口中没有变量,有的只是常量,即成员变量的修饰符为public static final,定义时必须赋初值;

  2. 接口中的所有方法都是抽象方法,没有成员方法(没有方法体),即方法修饰符为public abstract;有抽象函数的不一定是抽象类,也可以是接口类。

  3. 接口没有构造函数;

  4. 接口不能被 new;

  5. 接口可以多实现 (多个接口之间用逗号隔开)、多继承 (多个类之间用逗号隔开),implements接口时要实现接口中的所有方法;

  6. 如果实现类中要访问接口中的成员,不能使用super关键字。因为两者之间没有显示的继承关系,况且接口中的成员属性是静态的,可以使用接口名直接访问。

用代码来理解接口

//快速理解接口的应用
interface A {
	public static final int num = 10; //接口变量
	public abstract void method(); //接口方法
}

interface B extends A {
	public abstract void function();
}

interface C extends B {

}

//接口的实现
class D implements C {
	@Override
	public void method() {
		System.out.println("接口A的方法实现了!");
	}
	
	@Override
	public void function() {
		System.out.println("接口B的方法实现了!");
	}
}


public class Main {
	public static void main(String[] args) {
		D d = new D(); 
		d.method(); //输出:接口A的方法实现了!
		d.function(); //输出:接口B的方法实现了!
	}
}

接口和抽象类的区别

1)抽象类只能被单继承;接口可以多实现, 接口的出现避免了单继承的局限性。

2)抽象类中定义的是继承体系中的共性功能。接口中定义的是继承体系中的扩展功能。

3)抽象类被继承是"is a"关系:xx是yy的一种。接口被实现是"like a"关系:xx像yy的一种。

抽象类中的数据特点:

  1. 成员变量:可以是变量,也可以是常量
  2. 成员方法:可以是抽象方法,也可以是非抽象方法
  3. 构造方法:有构造方法

接口中的数据特点:

  1. 成员变量:只能是常量。默认修饰 public static final
  2. 成员方法:都是抽象方法。都有默认修饰 public abstract
  3. 构造方法:没有构造方法
21、Java面向对象编程:核心方法与接口详解 本文详细介绍了Java面向对象编程中的核心概念,包括Object类的重要方法如toString、equals、hashCode、compareTo和clone,以及接口的定义、扩展和实现。同时比较了接口与抽象类的差异,并通过示例代码帮助开发者更好地理解和应用这些关键技术。这些内容对于编写高质量、可维护的Java代码具有重要意义。 阅读详情

相关推荐

智能车八邻域图像算法_二

智能车八邻域图像算法 文章目录智能车八邻域图像算法前言一、一些想法二、生长方向的使用1.点的生长方向的表示2. 用点的生长方向来做初步判断1.引入库2.读入数据总结 前言 上一篇里面讲过用八邻域来获得赛道边界:智能车八邻域图像算法 当已经能稳定获得赛道边界时,就可以进行元素识别,获得偏差了。 这里就介绍一下我的一些思路。 早在前两年,优快云上就有一篇关于八邻域如何处理元素的文章第十五届全国大学生智能汽车竞赛-双车组三轮图像处理总结,写得很好,我当时也参考了这篇文章,但是我觉得不是很详细,所以我这里想写得

技术缝合怪的博客 1万+

java学习笔记第六章接口与实现

接口中只能有abstract方法(只有方法名,没有方法体),不能有非abstract方法; 一个接口可以拥有多个父接口,如interface com extends com1,com2; 子接口将继承父接口的所有常量与方法(因为接口以及接口常量、接口内的方法都是public); 可以用abstract修饰接口; ...

qq_51412866的博客 674

Vmware 17保姆级教程:从零部署华为enspPro模拟器(附镜像下载+配置优化)

本文提供了一份详尽的Vmware 17部署华为eNSP Pro模拟器的保姆级教程。内容涵盖从镜像下载、虚拟机导入、网络配置到深度性能调优的全过程,并针对常见启动失败、设备卡顿等故障提供了实用的排查方案,旨在帮助网络工程师和华为认证备考者快速搭建稳定高效的实验环境。

arduino9maker的博客 632

计算机java是什么意思

java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。 java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。 java语言是一门随时代快速发展的计算机语言程序,其.

Memory1011的博客 1440

二阶系统的带宽(频域分析)

下面以典型I型系统为例,计算系统的开环截止频率和闭环截止频率。设I型系统为: 1:系统的开环截止频率为 2:系统的闭环截止频率 其实我们在工程整定时,把ζ = 0.707,也把系统的带宽近视看成自然震荡角频率即 (wb≈wc≈wnw_{b}\approx w_{c}\approx w_{n}wb​≈wc​≈wn​)对于二阶系统。 ...

wanrenqi的博客 2万+

PSO算法介绍

结合网上的文章对PSO进行一些介绍,并附上自己复现的算法。

Witty_Hou的博客 1万+

面向对象(接口多态)

1.接口 1.1接口的概述(理解) 接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。 Java中接口存在的两个意义 用来定义规范 用来做功能的拓展 1.2接口与类相似点: 一个接口可以有多个方法。 接口文件保存在 .java 结尾的文件中,文件名使用接口名。 接口的字节码文件保存在 .class 结尾的文件中。 接口相应的字节码文件必须在与包名称相匹配的目录结构中。 1.3接口与类的区别: 接口

qq_45511798的博客 368

spring-ai 1.0.0 学习(四)——提示词管理

摘要:本文介绍Spring AI中提示词管理的最佳实践。首先展示基础样例,指出直接传递用户输入的局限性。随后分析优质提示词应包含系统消息、上下文信息、输出结构和问答样例四要素。文章详述两种实现方式:链式调用(使用ChatClient构建器)和传统对象创建方法。进阶部分涵盖核心接口(Prompt、Message等)、消息类型、模板渲染配置(支持自定义)及提示词工程技巧(如RAG、任务分解)。最后提及高级功能如少样本模板和提示词库。全文强调结构化提示词对提升AI输出质量的关键作用,并展示Spring AI的灵活

hzp的专栏 1365

java如何可以接口多个父类_接口与父类的差别在哪里,如何同时继承多个接口类。...

我觉得你的问题问得很糟糕,让我感觉都不清楚你在问什么。你首先得吧自己要提出的问题说清楚。我们才能解答。不过根据我的猜测,你可能是想问子类实现了接口和继承父类时,对于方法的调用问题吧。publicinterfaceIA{publicvoidout();}publicclassSA{publicvoidout(){System.out.println("SA");}}public...

weixin_36204727的博客 720

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

【Matlab光伏功率预测】基于GRU门控循环单元的光伏功率时间序列预测(附MATLAB代码)

k8291121的博客 1099

WorkBuddy 技能指南:基础办公与文档处理

WorkBuddy 不仅仅是一个对话工具——它通过技能(Skills)系统,将通用 AI 助手转变为具备专业领域能力的智能助手。每个技能都是一套经过精心设计的"能力包",包含专业知识、工作流程和专用工具。本文聚焦于文档处理类技能——这是日常工作中使用频率最高、最实用的能力集合。

u011186532的专栏 703

接口【四】继承父类并实现多个接口

这里两个父类接口的默认方法被子接口继承,则子接口发生错误,子接口需要在MyInterfaceA.java和MyInterfaceB.java两个接口之间的默认方法选择。5.如果实现类所实现的多个接口当中,存在重复默认方法,那么实现类一定要对冲突的默认方法进行覆盖重写。6.一个类如果直接实现父类中的方法,和接口中的默认方法产生冲突,优先使用父类中的方法。3.如果实现类所实现的多个接口当中,存在重复的抽象方法,那么只需要覆盖重写一次。2.一个类的直接父类是唯一的(有且只有一个),但一个类可以同时实现多个接口。.

猪脚王的博客 3549

RHCA ---RH442-4

这题考试中是没有的,但我做ex的判分脚本里做了,主要是lab环境swap只有512M的,这样后续改了某几个参数后会造成内存不够用导致异常.这里记得是双>,如果没自信的小伙伴可以在考试开始后第一时间把/etc/fstab先备份一个或者vi进入后手动敲一下。根据题意我们需要分2个768M的分区给swap。用free看swap大小是2.0Gi即可。留意红框中的内容即可,最后w保存退出。这个时候可以重启下机器。

Q先生 641

【Java】面向对象之接口详解

在 Java 中,接口是一种抽象类型,用interface关键字定义。接口只包含方法签名(即方法的声明,不包括方法体)和常量(默认修饰)。实现接口的类必须实现接口中定义的所有方法。// 接口中的常量// 等同于 public static final int AGE = 5;// 抽象方法void eat();// 等同于 public abstract void eat();Java 中的接口是定义抽象方法和行为规范的重要工具。通过接口,可以实现多态、解耦和灵活的代码设计。

u013675821的博客 1278

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java面向对象——接口详解

Java面向对象——接口详解

weixin_64811434的博客 798

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java小白必备之面向对象——接口详解

文章目录1、接口概述2、接口定义3、接口中成员特点4、接口实现5、接口多实现6、接口的继承7、接口和抽象类的区别 1、接口概述 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 两种含义: Java接口,Java语言中存在的结构,有特定的语法和结构; 一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。 2、接口定义 Java

Code皮皮虾的博客 732

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

java 接口详解_java面向对象——接口详解

该楼层疑似违规已被系统折叠隐藏此楼查看此楼普通类:只有具体实现抽象类:具体实现和规范(抽象方法) 都有!接口:只有规范!为什么需要接口?为什么需要接口?接口和抽象类的区别?接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。抽象类还提供某些具体实现,接口不提供任何实现,接口中所有方法都是抽象方法。接口是完全面向规范的,规定了一批类具...

weixin_32817047的博客 81

Java面向对象-接口详解

1.接口是什么 接口是一种高度的抽象! 接口是一种编程的规范,规范实现类应该具有的属性和必须实现的方法! 当然,既然接口是一种抽象,则不可以有具体的实例,也就是没有构造方法,不能直接实例化! 2.接口定义规范 2.1 声明接口的格式 [public] interface <接口名>{ [<常量>]; [<抽象方法>]; } 2.2 接口的规范(必看) 1.接口的修饰符必须是 public 或者 默认修饰符(不写),因为接口需要被实现。 修饰符为 public

northcastle的博客 803

Java面向对象--接口详解

接口 普通类 只有具体实现 抽象类 具体实现和规范(抽象方法)都有! 接口 只有规范!只有约束! 接口就是规范,定义的是一组规则,接口的本质是契约,制定好了以后必须遵守! 声明类的关键字是class,声明接口的关键字是interface; 接口不能被实例化~,接口都需要有实现类(关键字implements); 接口中定义的变量都是静态常量;接口中定义的所有方法都是abstract抽象的,无法写方法体,还都是public的(可以不写public); 实现类的命名一般是在接口名后面加I

qq_44104879的博客 734

Java面向对象核心:继承、接口与抽象类详解

继承、接口和抽象类是Java面向对象编程的三大核心概念。理解它们的区别和使用场景,对于设计良好的软件架构至关重要。本文将通过实际示例,深入解析这三个概念的特点、使用方法和最佳实践。

qq_43552242的博客 1210

Java面向对象07[Java接口详解、N种内部类]

Java面向对象07接口的定义与实现内部类 接口的定义与实现 普通类:只有具体实现 抽象类:具体实现和规范(抽象方法)都有 接口:只有规范! (约束和实现分离) 接口就是规范,定义的是一组规则,体现的了现实世界中“如果是你…则必须能”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,则必须干掉坏人。 接口的本质是契约,制定好之后大家都遵守。 OO的精髓就是,对对象的抽象,而最能体现这一点的就是接口。这也是为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如

小帆也能远航的博客 460

Java面向对象多态、抽象类、接口详解

目录一、方法重写1. 方法重写概述2. 方法重写的注意事项3. 举例二、多态1. 多态的概述2. 多态中的成员访问特点3. 多态的利弊4. 向上转型与向下转型5. 多态的内存图解 一、方法重写 1. 方法重写概述 什么是方法重写 方法重写是在继承中出现,当子类对父类所提供的方法不满意是可以对方法重写,又称为方法覆盖、方法复写。重写的方法与父类中的原方法的方法声明(方法名、参数列表、返回值)一样 ...

qq_44495081的博客 420

Java面向对象 接口(interface)的详解

接口的使用 接口使用interface来定义。 Java中接口和类是两个并列的结构。 如何定义接口:接口中的成员 3.1.JDK7及以前只能定义全局常量和抽象方法 全局常量:public static final的 但是书写时,可以省略不写 抽象方法:public abstract的 package demo11; public class InterfaceTest { } interface FilType{ //全局常量 public static final int age

路宇的博客 745

Java面向对象核心:接口与多态详解(从入门到实战)

java复制public interface 接口名 {// 抽象方法1// 抽象方法2关键特征使用interface关键字替代class编译后生成.class文件方法默认是不能包含普通成员变量java// 定义USB接口// 默认public abstract// 默认public abstract接口是功能的抽象,定义"能做什么"通过interface定义,类用implements实现支持多实现、多继承成员只能是常量和抽象方法多态成员方法:编译看左边,运行看右边。

weixin_43954652的博客 1210

java面向对象抽象类,接口,内部类详解

abstract是抽象的意思,用于修饰方法方法和类,修饰的方法是抽象方法,修饰的类是抽象类。我们已经学完了抽象类,抽象类中可以用抽象方法,也可以有普通方法,构造方法,成员变量等。那么什么是接口呢?接口是更加彻底的抽象,JDK7之前,包括JDK7,接口中全部是抽象方法。接口同样是不能创建对象的。//接口的定义格式: interface 接口名称 {// 抽象方法 } // 接口的声明:interface // 接口名称:首字母大写,满足“驼峰模式”类与接口的关系为实现关系,即类实现接口。

m0_58975186的博客 2084

Java面向对象三大特性:抽象类、接口与内部类详解

面向对象编程中的抽象类与接口是实现多态和代码复用的核心机制。抽象类通过abstract关键字定义部分实现的方法模板,适合具有共同行为但需要差异化实现的场景;接口则作为纯粹的行为契约,从Java8开始支持默认方法和静态方法,极大提升了灵活性。内部类提供了更精细的封装方式,包括成员内部类、静态内部类等形式,在事件处理和迭代器模式中表现突出。理解这些特性的设计原理和适用场景,能够帮助开发者更好地实现模块解耦、代码复用等工程目标,特别是在框架设计和业务系统开发中发挥关键作用。

weixin_31292729的博客 240
上一篇: 【Java面向对象】抽象类详解
下一篇: 【Python初识】Python解释器
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值