Java多态详解,零基础入门到精通,收藏这篇就够了

目录

1、概述

2、多态的定义与使用格式

3、多态的特点

4、多态成员的特点

5、instanceof 关键字

6、多态转型

7、多态的优缺点


1、概述

多态就是描述一个事物的多种形态,如小明是一个学生,他既是人,也是学生,出现两种形态。Java中多态的代码体现在一个子类对象(实现类对象)既可以给这个子类(实现类对象)引用变量赋值,又可以给这个子类(实现类对象)的父类(接口)变量赋值。

2、多态的定义与使用格式

父类的引用变量指向子类对象:父类类型 变量名 = new 子类类型();
变量名.方法名();

  • 普通类多台定义格式:父类 变量名 = new 子类();```
    class Fu {} //创建父类
    class Zi extends Fu {} //创建子类
    Fu f = new new Zi(); //类的多态使用

  • 抽象类定义多态格式: 抽象名 变量名 = new 抽象子类();```
    //创建抽象父类
    abstract class Fu
    {
    public abstract void fun();
    }
    //创建子类重写父类抽象方法
    class Zi extends Fu
    {
    public void fun()
    {
    System.out.println(“重写父类抽象方法”);
    }
    }
    //抽象类的多态使用
    Fu f = new Zi();

  • 接口多态定义的格式:接口 变量名 = new 接口实现类();```
    //创建接口
    interface Fu
    {
    public abstract void fun();
    }
    //创建实现类
    class Zi implements Fu
    {
    public void fun()
    {
    System.out.println(“重写接口抽象方法”);
    }
    }
    //接口的多态使用
    Fu f = new Zi();

3、多态的特点
  • 必须有父子类关系或类实现接口关系,否则无法完成多态
  • 必须重写父类或接口类方法
  • 父类引用变量指向子类对象
  • 父类引用变量调用方法时,会调用子类重写后的方法
4、多态成员的特点
  • 成员变量在编译时,参考的是引用类型所属的类(父类)中是否有被调用的成员变量。没有则编译失败。

  • 成员变量在运行时,参考的也是引用类型所属的类(父类)中是否有被调用的成员变量。没有则运行失败。

    即:编译和运行都是看等号的左边(父类)

  • 成员方法编译时,参考引用变量所属的类(父类),如果类中没有调用的方法,编译失败

  • 成员方法运行时,参考引用变量所指的对象所属的类(子类),并运行对象所属类中的方法

    即:编译看左边(父类),运行看右边(子类)

逻辑实例:

//创建父类 public class Fu { int num = 1; //定义成员变量 public void fun() //定义成员方法 { System.out.println("父类"); } } //创建子类 public class Zi extends Fu { int num = 2; public void fun() { System.out.println("子类"); } } //main中调用 public class Main { public static void main(String[] args) { Fu f = new Zi(); System.out.println(f.num); //成员变量编译和运行都是参考父类的 f.fun(); //成员方法编译参考父类,运行参考子类 } }

运行结果:

1 子类
5、instanceof 关键字
  • 作用:instanceof 关键字用来判断某个对象是否属于某种数据类型
  • 格式:boolean b = 对象 数据类型;
//两个子类,使用两次多态调用 Animal a1 = new Cat(); Animal a2 = new Dog(); boolean flag = a1 instanceof Cat; //flag结果为true boolean flag2 = a2 instanceof Cat; //flag2结果为false
6、多态转型

向上转型

  • 当子类对象赋值给一个父类引用时,即向上转型(多态本身就是向上转型的过程)
  • 格式:父类类型 变量名 = new 子类类型();
    eg:Fu f = new Zi();

向下转型

  • 通过强制类型转换格式,将父类引用转为子类格式
  • 格式:子类类型 变量名 = (子类类型)父类类型的变量;
    eg:Zi z = (Zi) f; //变量 f 实际上是指向 Zi 对象
7、多态的优缺点

优点:

  • 提高了代码的维护性(由继承保证)
  • 提高代码复用性(有继承保证)
  • 提高了代码的扩展性:新增加的子类不影响已存在类的多态性、继承性以及其他特性
  • 安全性:向上转型将子类类型隐藏了起来

缺点:

  • 只能使用父类共性的内容,无法使用子类特有的功能(如要使用就要使用向下转型强制类型转换)

Java开发的就业市场正在经历结构性调整,竞争日益激烈

传统纯业务开发岗位(如仅完成增删改查业务的后端工程师)的需求,特别是入门级岗位,正显著萎缩。随着企业技术需求升级,市场对Java人才的要求已从通用技能转向了更深入的领域经验(如云原生、微服务)或前沿的AI集成能力。这也导致岗位竞争加剧,在一、二线城市,求职者不仅面临技术内卷,还需应对学历与项目经验的高门槛。

大模型为核心的AI领域正展现出前所未有的就业热度与人才红利

2025年,AI相关新发岗位数量同比激增543%,单月增幅最高超过11倍,大模型算法工程师位居热门岗位前列。行业顶尖人才的供需严重失衡,议价能力极强,跳槽薪资涨幅可达30%-50%。值得注意的是,市场并非单纯青睐算法研究员,而是急需能将大模型能力落地于复杂业务系统的工程人才。这使得具备企业级架构思维和复杂系统整合经验的Java工程师,在向“Java+大模型”复合人才转型时拥有独特优势,成为企业竞相争夺的对象,其薪资天花板也远高于传统Java岗位。

说真的,这两年看着身边一个个搞Java、C++、前端、数据、架构的开始卷大模型,挺唏嘘的。大家最开始都是写接口、搞Spring Boot、连数据库、配Redis,稳稳当当过日子。

结果GPT、DeepSeek火了之后,整条线上的人都开始有点慌了,大家都在想:“我是不是要学大模型,不然这饭碗还能保多久?”

先给出最直接的答案:一定要把现有的技术和大模型结合起来,而不是抛弃你们现有技术!掌握AI能力的Java工程师比纯Java岗要吃香的多。

即使现在裁员、降薪、团队解散的比比皆是……但后续的趋势一定是AI应用落地!大模型方向才是实现职业升级、提升薪资待遇的绝佳机遇!

如何学习AGI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享**

一、2025最新大模型学习路线

一个明确的学习路线可以帮助新人了解从哪里开始,按照什么顺序学习,以及需要掌握哪些知识点。大模型领域涉及的知识点非常广泛,没有明确的学习路线可能会导致新人感到迷茫,不知道应该专注于哪些内容。

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

L1级别:AI大模型时代的华丽登场

L1阶段:我们会去了解大模型的基础知识,以及大模型在各个行业的应用和分析;学习理解大模型的核心原理,关键技术,以及大模型应用场景;通过理论原理结合多个项目实战,从提示工程基础到提示工程进阶,掌握Prompt提示工程。

L2级别:AI大模型RAG应用开发工程

L2阶段是我们的AI大模型RAG应用开发工程,我们会去学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

L3级别:大模型Agent应用架构进阶实践

L3阶段:大模型Agent应用架构进阶实现,我们会去学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造我们自己的Agent智能体;同时还可以学习到包括Coze、Dify在内的可视化工具的使用。

L4级别:大模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,我们会更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调;并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

整个大模型学习路线L1主要是对大模型的理论基础、生态以及提示词他的一个学习掌握;而L3 L4更多的是通过项目实战来掌握大模型的应用开发,针对以上大模型的学习路线我们也整理了对应的学习视频教程,和配套的学习资料。

二、大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础(书籍含电子版PDF)

三、大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

四、大模型项目实战

学以致用,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

五、大模型面试题

面试不仅是技术的较量,更需要充分的准备。

在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2025最新版CSDN大礼包:《AGI大模型学习资源包》免费分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1159461.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代农业赋能下的农产品高质量发展

民以食为天,农业是安天下、稳民心的战略产业,而农产品作为农业生产的核心成果,不仅承载着保障粮食安全的基础使命,更在乡村振兴的浪潮中成为激活产业活力、带动农民增收的关键抓手。如今,我国农业正告别“看天吃饭”的…

Go 里的端口复用从原理到生产可用代码(SO_REUSEPORT / SO_REUSEADDR)

1. 先把概念掰直:你说的“端口复用”可能是四种事 1)多进程共享同一端口(真正意义上的端口复用) 多个进程同时 listen :8080,由内核把新连接分发到不同进程。 关键开关:SO_REUSEPORT(Linux 3.9 …

Rust 交叉编译:MacOS ====> Linux (musl 静态编译)

核心说明 你要实现的是 macOS (x86_64/arm64) → Linux CentOS (x86_64) 的 Rust 交叉编译,且指定 musl 静态编译,使用 cargo-zigbuild 是最优方案,没有之一。 优势1:cargo-zigbuild 基于 zig 编译器的交叉编译能力,无…

JAVA常用源码编辑工具有哪些?_java编辑器,零基础入门到精通,收藏这篇就够了

ava 源代码本质上其实就是普通的文本文件,所以理论上来说任何可以编辑文本文件的编辑器都可以作为我们的 Java 代码编辑工具。比如:Windows 记事本,Mac OS X 下的文本编辑,Linux 下的 vi、emacs、gedit、DOS 下的 edit 等。但是这…

使用Ubuntu搭建Java部署环境_ubuntu安装java环境,零基础入门到精通,收藏这篇就够了

在Ubuntu下搭建Java部署环境需要使用到apt命令 apt命令(用于安装、更新、删除、查询软件包) 语法: apt [命令] [软件包名称]接下来我们来搭建Java部署环境 使用apt安装JDK 更新软件包列表 我们先更新软件包列表 apt-get updateUbuntu仓库的软件不一定和软件包官网的版本一样, …

人工造问卷 VS 宏智树 AI:告别 “无效调研”,学术问卷设计原来可以这么简单

作为深耕论文写作科普的教育博主,后台总能收到这样的求助:“花 3 天设计的问卷,导师说信效度为零”“发出去 200 份问卷,150 份数据无效”“量表题项照搬,结果被批缺乏学术逻辑”。实证类论文的核心是数据,…

永磁同步电机反步控制实战手记

永磁同步电机反步(backstepping)控制 1.采用非线性控制策略反步控制法,实现永磁同步电机系统的完全解耦,相比PI控制减少了系统调节参数,抗负载扰动能力明显提高; 2.提供算法对应的参考文献和仿真模型 购买赠送PMSM控制相关电子资料…

JAVA实战:学生选课管理系统_java学生选课管理系统,零基础入门到精通,收藏这篇就够了

一.学生选课管理系统简介 首先定义了两个类:Student和Course。Student类表示学生,包含学生的姓名、学号和已选修的课程列表。Course类表示课程,包含课程的编号、名称和选修该课程的学生列表。 在Student类中,定义了构造方法用于…

【毕业设计】基于深度学习卷积神经网络训练识别橘子是否新鲜基于python_CNN深度学习卷积神经网络训练识别橘子是否新鲜

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

宏智树 AI 数据分析:文科生也能玩转硬核实证,论文说服力翻倍!

作为专注论文写作科普的教育博主,后台总能收到这样的求助:“论文数据一大堆,却不知道怎么分析”“SPSS 操作太复杂,文科生表示看不懂”“数据结果不会可视化,论文干巴巴没说服力”…… 其实,论文数据分析根…

Hadoop Formats 在 Flink 里复用 Hadoop InputFormat(flink-hadoop-compatibility)

1、项目依赖配置 核心依赖是 Flink 的兼容模块&#xff1a; <dependency><groupId>org.apache.flink</groupId><artifactId>flink-hadoop-compatibility</artifactId><version>2.2.0</version> </dependency>如果你要在本地&a…

宏智树 AI:期刊论文投稿通关密码!从选题到见刊的智能加速器

作为深耕论文写作科普的教育博主&#xff0c;后台每天都被 “期刊论文投稿被拒 N 次”“选题不对口”“格式反复改” 的吐槽刷屏。很多科研人明明手握优质研究成果&#xff0c;却因踩中选题偏差、文献不规范、格式混乱等 “隐形雷区”&#xff0c;陷入投稿屡败的困境。而宏智树…

深度学习毕设项目:基于python_CNN深度学习训练识别橘子是否新鲜基于python_CNN深度学习卷积神经网络训练识别橘子是否新鲜

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

零代码开发平台有哪些?

在数字化转型的浪潮中&#xff0c;业务部门对敏捷、定制化软件工具的需求与日俱增&#xff0c;但传统的开发流程却受限于高昂的成本和漫长的周期。零代码开发平台正是在此背景下应运而生的解决方案。它指的是一种允许用户通过完全可视化的拖拽、配置和规则设定&#xff0c;无需…

宏智树 AI:课程论文写作 “开挂神器”!告别凑字数,轻松搞定高分作业

每到期末季&#xff0c;课程论文就成了大学生的 “甜蜜负担”—— 想认真写却抓不住选题方向&#xff0c;凑够字数又担心逻辑混乱&#xff0c;查重时更是被飘红的段落搞得焦头烂额。作为深耕论文写作科普的教育博主&#xff0c;今天就给大家安利一款课程论文 “救星”—— 宏智…

【课程设计/毕业设计】基于卷积神经网络训练识别橘子是否新鲜基于python_CNN深度学习卷积神经网络训练识别橘子是否新鲜

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

【2026必看】AI Agent完全指南:从零掌握大模型核心架构,建议收藏学习

AI Agent是2026年AI生态核心&#xff0c;具备自主决策和执行能力&#xff0c;通过感知、规划、行动、记忆和反思五大组件实现闭环架构。A2A协议使不同Agent能协作分工&#xff0c;MCP标准化工具调用&#xff0c;Agent Skills模块化能力构建。这些技术大幅降低开发门槛&#xff…

家庭食谱管理系统 Recipes 怎么搭?用服务器自建一个“全家共享”的菜谱库

🥬 买菜靠感觉,回家才发现缺关键食材 📱 菜谱收藏在各个平台:小红书一份、B站一份、浏览器书签一堆 🧠 想复刻某次做成功的菜,翻半天找不到当时那份步骤 👨‍👩‍👧‍👦 家里人各自保存各自的,根本没法共享、也没法统一整理 后来我干脆一步到位:在服务器上…

HG_REPMGR autofailvoer自动故障转移

文章目录 文档用途详细信息 文档用途 HG_REPMGR自动故障转移配置参考 详细信息 配置集群自动故障转移&#xff08;failover&#xff09;&#xff0c;需要为集群中的每个节点开启 repmgrd 守护进程。当主节点出现故障后&#xff0c;会自动将合适的备节点提升为新主节点&#…

2026年网络安全学习路线,零基础入门到精通,看这篇就够了!赶紧收藏!

针对2025年网络安全领域的学习路线规划&#xff0c;结合当前技术趋势和未来发展方向&#xff0c;帮助你从入门到进阶&#xff0c;逐步掌握网络安全的核心技能。 一、基础阶段&#xff08;3-6个月&#xff09; 目标&#xff1a;建立计算机基础与安全意识 1. 计算机基础 学习…