java之 接口与多态

深入理解Java接口多态 从基础的接口实现到高级的设计模式应用,从传统的面向对象编程到现代的函数式编程,接口多态始终是Java编程的核心。随着Java语言的不断发展,接口的功能也在不断增强(默认方法、静态方法、私有方法、函数式接口等),这使得接口多态在现代Java开发中变得更加重要和强大。// 调用add(int, int, int)接口多态是运行时多态的一种形式,它允许我们使用接口类型引用指向任何实现了该接口的类的对象。Java 8引入的默认方法使得接口可以包含具体实现,这解决了接口演化问题,但也带来了多继承的复杂性。 阅读详情

先接着上节的话题 继承

    继承名字的遮挡问题:

class  A{
int a;
}
class B extends A{
int a;
public void method(int a){
a//
}
}

 

继承和组合   和语法无关,主要是设计角度

class 遥控器{
  void volumnUp();
  void volumnDown();
  }
class 电视{
 遥控器 x;
 volumnUp(){x.volumnUp();
 }
 }

下面进入正题  接口

出现的目的  :体现封装性

                       分离的契约与实现

                      区分甲方(提要求)和乙方(工作)

接口认为就是一份合同

语法定义   interface  接口名称{

    void volumnUp();  抽象方法

}

//容器

interface  Collection{                     interface   DataStructyre{}

}

intreface list extends Collection,DataStructyre{

}

1.接口的定义允许多继承。

2.接口无法实例化对象。  可以出现,默认都是被

3.接口中给出的方法列表默认。  final static 修饰

1)public访问限定修饰符的

2)无法使用stati修饰(有特列)

3)是一个抽象方法,直接用分号结尾,不用给方法体。

interface JavaCourse{

void 上课();

void 辅导();

void 留作业();

}

语法:类实现接口的语法,写在定义类的时候。

class 陈老师 implements JavaCourse{

@Override

void 上课 (){...... }

........

}

class 汤老师 Implements JavaCourse{

@Override

void 上课(){......}

......

}

class A extends Parent implements IA,IB,IC{

}

1.final 关键字

1.修饰变量,不可变变量,只有一次赋值的机会。

final int a=10;

a=100;  //编译时发生错误

final int a[]=new int[10];

A)  a=new int [100];  //编译时发生错误

B) a[0]=100;  正确的

final Person p=new Person();

A) p=null;   //编译时发生错误

B)p.name="hello";  正确的

2.final可以修饰类

表示这个类无法被继承

final class A{}

3.final 可以修饰方法

代表这个方法无法被子类覆写

class A{

final void method(){}

}

2.abstract

1.修饰类 这个类无法被实例化 

abstract class A{}  抽象类

new A();//编译错误

2.修饰方法 ,该方法称为抽象方法,只有方法签名,没有方法方法实现

abstract void method();

 

1.抽象方法一但被实现一次,就不再是抽象方法。

2.AbstractList中只是线性表,把公共代码提出来复用,所以无法实现insert 方法,因为顺序表的方法和链表的不同。

多态(继承和多态都是取自生物学上的术语)

猫和狗都是动物 ,都可以叫,但种类不同,所以叫声也不同。

1.父类的引用可以指向子类的对象

2.引用可以调用的方法有那些,在编译期间,是根据引用类型决定的,不是根据对象的类型决定的。

3.运行期间按,真正执行的是那个方法 ?

                     普通方法

     如果是静态方法?

多态

1.父类型的引用可以指向子类型的对象(向上转型。

2.编译期间,可以调用方法列表,以引用类型为主。

3.运行期间真正执行的普通方法,以实际执行的对象为主。

4.运行期间真正执行的静态方法,以应用类型为主。

总结

多态   

1.向上转型和向下转型

向上转型是自然的,不需要强制转换,向下转型是不自然的,需要强制转换。

2.转换的正确性需要开发者自行保证。

3.通过instanceof保证。

4.如果错误,会有运行时异常抛出。

 

 

 

 

 

 

从零构建Elasticsearch MCP代理:自然语言查询背后的技术揭秘 本文深入解析如何从零构建Elasticsearch MCP代理,实现自然语言查询的技术架构与实战应用。通过MCP协议与Elasticsearch的结合,系统能够将自然语言转换为精确的DSL查询,提升非技术用户的数据查询效率。文章详细介绍了核心架构、DSL生成引擎、端到端系统搭建及生产环境最佳实践,为开发者提供全面的技术指南。 阅读详情

相关推荐

树莓派CM4 PCIe扩展方案与ASM1184e芯片应用

PCIe(Peripheral Component Interconnect Express)是计算机硬件中重要的高速串行总线标准,广泛应用于存储、网络等设备连接。其核心原理是通过差分信号实现高带宽传输,PCIe Gen2 x1的理论带宽可达5Gbps。在嵌入式开发中,PCIe扩展技术能有效解决单板计算机接口不足的问题,特别适合树莓派等微型平台。ASMedia ASM1184e作为PCIe交换芯片,可将单个接口扩展为多个,支持热插拔且免驱动,极大提升了工程灵活性。通过PCIe交换机方案,开发者能在树莓派CM

weixin_42602368的博客 421

Java中的多态和接口

day12

weixin_52071901的博客 1846

OLLAMA_HOST环境变量设置全攻略:从127.0.0.1到局域网共享的完整配置

本文详细解析了OLLAMA_HOST环境变量的核心作用与配置方法,指导用户如何将Ollama服务从仅限本机访问(127.0.0.1)扩展到局域网共享。文章涵盖了macOS、Linux、Windows三大平台的实战配置步骤,并提供了安全加固、性能优化及常见故障排查方案,是解决多设备协作访问本地AI模型的完整指南。

weixin_28455801的博客 1896

JAVA基础(10.接口和多态)

JAVA接口和多态,让你认识不一样的基础

weixin_45707083的博客 824

STM32 USB2.0 转 Type-C 接口设计与实现

本文详细介绍了STM32 USB2.0转Type-C接口的设计与实现方案,涵盖硬件电路设计、软件配置及调试技巧。重点解析Type-C接口的CC引脚配置和电源管理,提供设备模式、主机模式及双角色模式的实现方法,帮助开发者解决实际应用中的连接稳定性和ESD防护等问题,提升产品可靠性和兼容性。

blockchain9miner的博客 1020

Xilinx PL实现DP TX视频传输的关键配置与实战解析

本文详细解析了在Xilinx ZCU106开发板上,利用PL(可编程逻辑)实现DP TX(DisplayPort发送)视频传输的关键配置与实战流程。内容涵盖从硬件平台搭建、DP TX IP核参数(如链路速率、通道数、视频时序)的详细配置,到软件驱动初始化、中断处理及链路训练的全过程,并提供了屏幕闪烁、颜色异常等常见问题的避坑指南与调试技巧,旨在帮助开发者高效实现稳定的4K视频输出。

weixin_29165465的博客 350

接口与多态

JavaOOP1、接口1.1 接口概述1.2 接口的定义格式1.3 接口成员的特点1.3.1 成员变量1.3.2 成员方法1.3.3 构造方法1.4 接口的使用1.5 继承父类并实现多个接口1.6 接口之间的继承1.7 抽象类和接口的区别2、多态 1、接口 1.1 接口概述 接口,是Java语言中一种引用类型,是方法的集合,如果说类的内部封装了成员变量、构造方法和成员方法,那么接口的内部主要就是封装了方法(功能),包含抽象方法 (JDK7及以前) , 默认方法和静态方法(JDK8)私有方法(JDK9)。

璃尔 ° 的博客 2489

Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包

联网情况下在命令终端CMD中输入“pip install numpy”即可自动安装,pandas和matplotlib同理一样方法进行自动安装。 工作的电脑不能上外网,所以不能通过直接输入pip命令来安装。 环境:电脑上已经安装了Python(没有安装的请参考其他教程)。 Python离线断网情况下安装numpy、pandas和matplotlib等常用第三方包的步骤如下: ...

dayou7738的博客 4940

Java-基础篇-10-【接口-多态】

【接口,多态】

Alan0517 2535

微信小程序一键登录和临时code用JWT进行微信用户授权

2、跨域进行调用接口时候,唯一标识UnionID和会话密钥 session_key如果还是用的我自己的,会出现无法调用微信服务器接口,就需要将唯一标识和会话密钥换成前端的,才可以,我自己认为这样很不合理,暂时还没有找到原因。2、能够获取到openId,但是也只能获取到openid,无法获取用户的相关信息,经过查阅官网发现,现在微信那边已经将用户信息加密,需要调用提供的接口进行解密然后获取用户数据,问题原因已经找到解决方法,还未即使更改。1、我这是一台电脑实现的前端调用后端接口,不用考虑跨域的问题。

qq_67653492的博客 5712

S32K344 Bootloader实战:一个按键实现从Boot到App的无缝跳转(附完整代码)

本文详细介绍了基于NXP S32K344微控制器的Bootloader开发实战,重点解析如何通过一个硬件按键实现从Boot到App的可靠跳转。内容涵盖内存分区规划、中断向量表重映射、外设初始状态管理等核心要素,并提供了完整的代码示例和调试技巧,适用于汽车电子和工业控制等高可靠性应用场景。

weixin_29192365的博客 307

Java接口、多态

public interface 接口名 {public abstract 返回值类型 方法名(参数);public default 返回值类型 方法名(形参){方法体return 结果public static 返回值类型 方法名(参数){方法体return 结果前提:必须有子父类继承关系或接口实现关系必须有方法的重写(没有重写 , 多态没有任何意义) , 多态主要是玩重写方法的new 对象 : 父类引用指向子类对象多态弊端:不能直接调用子类特有的功能。

qq_51149294的博客 333

OTG原理讲解

摘要:USB OTG(On-The-Go)是USB 2.0的重要功能,允许设备在主机和从机间动态切换,实现设备间的直接通信。其核心机制是通过ID引脚电平判断角色:Micro-USB中接地为Host,悬空为Device;USB-C则通过CC引脚协商。电路设计需处理ID引脚连接和VBUS电源控制,MCU根据ID状态配置USB控制器模式。典型应用包括手机连接U盘、键盘等外设,极大扩展了移动设备的连接能力。

m0_49476241的博客 3218

java中的多态与接口

什么是接口:当一个抽象类,如果抽象类中的所有方法都是抽象的,那么我们就可以把它定义为一个接口,接口是对行为的抽象。类是对属性和行为的抽象。

qq_69304031的博客 783

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java 接口 与 多态

Java 接口 与 多态一、接口二、多态 一、接口 1、了解 生活 中的 接口的 例子 USB 插座 男女约会的口号,也就是 两个不同事物通过约定的方式能够用结合在一起,能够实现这种功能的 都是接口。 USB接口:1.提供了标准的结构 2.需要连接接口的设备必须具有与接口标准相符的插头。3.当设备与USB连接时,体现的作用于功能是不一样的。 USB接口的好处:它极大的无限的扩充了电脑的功能。 2、Java中的接口 1、接口是Java引用类型之一,它也可以作为类型来声明变量。 2、接口需要使用 inter

norang的博客 1051

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Java 中多态与接口的全面解析

多态,简单来说,就是同一个行为具有多个不同表现形式或形态的能力。在 Java 中,多态意味着可以通过父类的引用调用子类的方法,程序在运行时才确定具体调用的是哪个子类的方法。例如,定义一个动物类Animal,以及它的子类Dog和Cat,它们都有makeSound方法,但发出的声音不同。通过Animal类的引用,可以调用不同子类的makeSound方法,产生不同的行为。接口是一种特殊的抽象类型,它只包含方法的签名,而没有方法的实现。

zsnandzmn的博客 916

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

【Java作业】接口与多态

一、实验名称 实验六 接口与多态 二、实验内容 1.实验内容1 本实验的任务是设计和实现一个Soundable接口,该接口具有发声功能,同时还能调节声音大小(playSound( )、decreaseVolume( )、stopSound( ))。Soundable接口的这些功能将会由3种声音设备来实现,它们分别是:Radio,Walkman和Mobilephone。最后还需设计一个应用程序类来使用这些实现了Soundable接口的声音设备。程序运行时,先询问用户想听哪知设备,然后程序按照该设备的工作方式来

风过孤屿,山海自成诗行。 3769

Java接口与多态

接口:是一个引用数据类型,是一种规则,标准关键字:Interface 接口Public interface 接口名(){}Implements 实现实现类 implements 接口名{}接口中可以定义的成员:jdk7以及以前:抽象方法:public abstracr->即使不写默认也有定义接口:public interface 接口名{}实现:public class 实现类类名 implements 接口名{}使用:实现类实现接口重写接口中的抽象方法。

m0_70718945的博客 1173

Java接口,多态

Java接口,多态

qiaoqiaoqiaoyezi的博客 855

java接口多态_Java 接口。实现。多态

Java 的接口public interface 类名接口是Java方法的合集,用于给不同的类实现同名的方法,接口是一个只有抽象方法的抽象类,1、接口中可以定义变量,但是变量必须有固定的修饰符修饰,public static final所以接口中的变量也称之为常量,其值不能改变。后面我们会讲解static与final关键字2、接口中可以定义方法,方法也有固定的修饰符,public abs...

weixin_29486805的博客 1563

【Java】继承、多态、接口

Java中的继承和接口 1、用类比引入继承概念 众所周知,Java是一门面向对象的语言。如果我们要设计多种多样的交通工具,比如汽车、火车、飞机,虽然这些工具功能不同、形态不同,但是他们很多的基本功能相同,比如——载人,行驶,是否能飞…,于是我们把class Vehicle(交通工具类)当作设计交通工具的标准,再通过这个标准创建不同的交通工具,包括汽车、火车、飞机等等(class Car,class Train,class Air…),这些工具的共有属性都是继承设计标准(class Vehicle)中的属性。

woodwhale的博客 4762

Java接口的多态特性

Java接口的多态特性

weixin_52385232的博客 1684

java多态与接口

多态:同一个人(对象)在不同的环境下可以转换为不同的身份(状态)那么我们为什么要使用多态呢?其实是为了实现面向对象的开闭原则举个例子,假设我们现在要给宠物喂食1.要编写狗狗类,增加狗狗吃食的方法2.要编写企鹅类,增加企鹅吃食的方法3.创建主人类,编写喂狗狗吃食的方法、编写喂企鹅吃食的方法4.编写测试类,调用主人类给狗狗喂食的方法、调用主人类给企鹅喂食的方法那么我们要想一下?如果新添加了一个宠物怎么办?如果新添加了100个怎么办?每一个主人类都要添加一个喂食的方法么?

weixin_64485175的博客 1197

【JAVA】接口与多态

【接口】 【定义】:接口用关键字interface定义 public interface 接口名{ } 【特点】: 接口不能实例化(创建对象) 接口和类之间是实现关系,通过implements关键字表示 public class 类名 implements 接口名{ } 接口的子类(实现类) 重写接口中的所有抽象方法 【注意】: 接口和类的实现关系可以是单实现,也可以多实现 ......

haoyu__的博客 1809

Java的多态与接口

java的接口与多态

2403_88874650的博客 1415

java基础(接口多态)

/ 定义接口// Dog 类实现 Animal 接口@OverrideWoof!");// Cat 类实现 Animal 接口@OverrideMeow!");接口 Animal:声明了一个方法,所有实现该接口的类都必须提供具体实现。实现类 Dog 和 Cat:各自实现了方法,提供了不同的行为。

Jerry的博客 1151
上一篇: java中类的继承
下一篇: java集合框架
王翔乐
博客等级 码龄8年 6粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值