news 2026/9/16 21:18:12

模块十一.接口和多态

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
模块十一.接口和多态

1.接口

1.接口的介绍

2.接口的使用

1.定义接口

public interface 接口名{}

2.实现:

public class 实现类名 implements 接口名{}

3.使用:

a.实现类实现接口

b.重写接口中的抽象方法

c.创建实现类对象(接口不能直接调用new对象)

d.调用重写的方法

3.接口中的成员

3.1抽象方法

1.定义格式:

public abstract 返回值类型 方法名(形参);

2.注意:

不写public abstract 默认也有

3.使用:

a.定义实现类,实现接口

b.重写抽象方法

c.创建实现类对象,调用重写的方法

3.2默认方法

1.格式:

public default 返回值类型 方法名(形参){

方法体

return 结果

}

2.使用:

a.定义实现类,实现接口

b.默认方法可重写,可不重写

c.创建实现类对象,调用默认方法

3.3静态方法

1.定义格式:

public static 返回值类型 方法名(形参){

方法体

return 结果

}

2.使用:

接口名直接调用

默认方法和静态方法 -> 可以作为临时加的一个小功能

3.4成员变量

1.格式:

public static final 数据类型 变量名= 值

2.相关知识点:final

final代表最终的,被它修饰的变量,不能二次赋值,可以视为常量

3.特点:

不写public static final默认也有

4.使用:

接口名直接调用

5.注意:

a.被static final修饰的成员变量需要手动赋值

b.习惯上我们会将static final修饰的成员变量名大写

4.接口的特点

1.接口可以多继承 ->一个接口可以继承多个接口

2.接口可以多实现 ->一个实现类可实现一个或多个接口

3.一个子类可以继承一个父类的同时实现一个或多个接口

4.注意:

继承也好,实现接口也罢,只要是父类或者接口中的抽象方法,子类或者实现类都要重写

当一个类实现多个接口时,如果接口中的抽象方法有重名且参数一样的,只需要重写一次

当一个类实现多个接口时,如果默认方法有重名的且参数一样的,必须重写一次默认方法

5.接口和抽象类的区别

相同点:

a.都位于继承体系的顶端,用于被其他类实现或继承

b.都不能new

c.都包含抽象方法,其他子类或者实现类都必须重写这些抽象方法

不同点:

a.抽象类:一般作为父类使用,可以有成员变量,构造,成员方法,抽象方法等

b.接口:成员单一,一般抽取接口,抽取的都是方法,视为功能的大集合

c.类不能多继承,但是接口可以

2.多态

1.多态的介绍

1.前提:

a.必须有子父类继承或者接口实现关系

b.必须有方法的重写(没有重写,多态没有意义)多态主要玩的是重写方法(基本不玩变量)

c.new对象:父类引用指向子类对象

FU fu =new ZI() ->理解为大类型接收了一个小类型的数据 ->比如 double b = 10

2.注意:

父类不能直接调用子类特有功能

2.多态的基本使用

3.多态的条件下成员的访问特点

3.1成员变量

看等号左边是谁,先调用谁中的成员变量

3.2成员方法

成员方法看new的是谁,先调用谁的成员方法,子类没有找父类

4.多态的好处(为什么学多态)

1.问题描述:

如果使用原始方式new对象(等号左右两边一致),既能调用重写的,还能调用继承的,还能调用自己特有的成员。但是多态方式new对象,只能调用重写的,不能直接调用子类特有的对象,那为啥还要用多态?

2.多态方式和原始方式new对象的优缺点:

原始方式:

a.优点:既能调用重写的,还能调用父类非私有的,还能调用自己特有的

b.缺点:拓展性差

原始方式:

a.优点:扩展性强

b.缺点:不能直接调用子类特有功能

形参传递父类类型,调用此方法父类类型可以接收任意它的子类对象

传递哪个子类对象,就指向哪个子类对象,就调用哪个子类对象重写的方法

5.多态中的转型

5.1向上转型

1.父类引用指向子类对象

好比是:double b =1;

5.2向下转型

1.向下转型:好比强转,将大类型强转成小类型

2.表现方式:

3.想要调用子类特有功能,我们就需要向下转型

6.转型可能会出现的问题

1.如果等号两边类型不一样,会出现类型转换异常(ClasscastException)

2.解决:

在向下转型前,先判断类型

3.怎么判断类型:instanceof

判断结果是boolean型

4。使用:

对象名 instanceof 类型 ->判断的是关键字前面的对象是否符合关键字后面的类型

7.综合练习

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 15:03:42

利用 DeepSeek 提升工作效率

理解 DeepSeek 的核心功能介绍 DeepSeek 的基础能力,如文本生成、代码辅助、数据分析等对比与传统工具的差异,突出智能化与效率提升日常任务自动化邮件与文档撰写:快速生成初稿或模板会议纪要整理:从录音或笔记中提取关键信息数据…

作者头像 李华
网站建设 2026/9/15 16:03:01

Webhook.site终极选择指南:自部署与云端方案深度解析

Webhook.site终极选择指南:自部署与云端方案深度解析 【免费下载链接】webhook.site webhooksite/webhook.site: 是一个简单的 Webhook 接收和回调服务器,它可以接收 HTTP POST 请求并将其转发到指定的回调 URL。适合用于实现简单的 Webhook 接收和回调功…

作者头像 李华
网站建设 2026/9/16 22:15:07

PHPBrew自定义任务终极指南:扩展开发与实战技巧

PHPBrew自定义任务终极指南:扩展开发与实战技巧 【免费下载链接】agent-framework A framework for building, orchestrating and deploying AI agents and multi-agent workflows with support for Python and .NET. 项目地址: https://gitcode.com/GitHub_Trend…

作者头像 李华
网站建设 2026/9/15 22:26:50

如何优雅重构HP-Socket应用:Deno 2.0兼容性深度解析与迁移策略

如何优雅重构HP-Socket应用:Deno 2.0兼容性深度解析与迁移策略 【免费下载链接】HP-Socket High Performance TCP/UDP/HTTP Communication Component 项目地址: https://gitcode.com/gh_mirrors/hp/HP-Socket HP-Socket作为高性能网络通信框架,在…

作者头像 李华
网站建设 2026/9/15 22:51:10

老旧Mac升级终极指南:完整教程解锁macOS兼容新世界

老旧Mac升级终极指南:完整教程解锁macOS兼容新世界 【免费下载链接】OCLP-Mod A mod version for OCLP,with more interesting features. 项目地址: https://gitcode.com/gh_mirrors/oc/OCLP-Mod 还在为你的老旧Mac无法安装最新系统而烦恼吗?每次…

作者头像 李华
网站建设 2026/9/16 22:15:05

联想显卡散热风扇更换教程查找全攻略:从官方指引到社区经验

联想显卡散热风扇更换教程查找全攻略:从官方指引到社区经验 对于使用联想拯救者系列游戏本或搭载高性能独立显卡的联想台式机用户而言,显卡散热风扇是维持性能稳定的关键部件。当风扇出现异响、停转或散热效率下降时,寻找可靠的更换教程便成为…

作者头像 李华