JAVA面向对象的三大特性
面向对象的三大特性封装、继承、多态一、封装修饰符private ,代表私有的被private 修饰的内容只能在本类中使用。public ,代表公开的公共的封装的要求(1) 属性私有化属性被 private修饰(2) 为私有属性提供公开的get和set方法a. get 方法获取私有化属性的值public 数据类型 get属性名(){return this.属性名;}注意返回值的数据类型取决于 获取属性的数据类型方法名 get 属性名 首字母大写b. set 方法为私有化属性赋值public void set属性名(数据类型 变量名){this.属性名 变量名;}注意形式参数的数据类型取决于 赋值的属性的数据类型方法名 set 属性名 -》首字母大写使用:(1) 获取私有化的属性值通过 get方法(2) 为私有化的属性赋值通过 set方法二、继承概念【理解应用】水杯 是一种 容器铅笔 是一种 笔狗 是一种 动物A is - a BA 继承 B(1) 继承 体现的类与类之间的 一种 is - a关系A is a BA 继承 BA extends B子类 父类语法 class 子类名 extends 父类名{} 【开发应用】(2) 继承是一种机制通过继承可以让子类使用父类中的属性和方法(3) 开发时不能强制使用 继承(extends)继承机制本身存在一种 is-a关系不能人为、刻意的创造使用。继承的好处提高代码的可复用性、可扩展性。方法的覆盖(override)又称为方法的 重写【重点开发面试】(1) 概念在子类中定义和父类同名的方法。(发生在父子类之间)(2) 覆盖的要求a. 子类的 方法名、形参列表、返回值类型 和 父类 相同b. 子类的访问修饰符 和 父类相同或是 比父类更宽(3) 使用一旦子类覆盖了父类中方法子类覆盖后的方法优先被使用(用子类型的引用调用)。(4) 注意a. 如果 子类的方法名、形参列表和父类相同但是返回值类型不同编译报错。b. 如果 子类的方法名、返回值类型和父类相同但是形式参数列表不同编译通过运行通过。—》重载写出 方法 覆盖 和 方法重载 各自特点。写出 override 和 overload 的 各自特点。(5) 应用场景当子类从父类继承的方法不足以满足自身需求时可以将继承到方法进行覆盖。4. 父类中属性和方法是将每一个子类的共性进行提取决定父类中属性和方法。 【理解】(1)父类中信息是 一般的、抽象的(2) 子类中信息是特殊的、具体的5. Java继承的特点Java中的类之间是单继承关系一个类只能有一个直接的父类 【理解】但是可以有多个间接的父类(多级继承)注意Java中类之间的单继承关系体现Java语言的简单性的特点。6. 子类可以从父类中继承哪些内容构造方法、属性和成员方法来思考。(1) 构造方法不能被子类继承 【理解】a. 构造方法的方法名必须和类名一样子类和父类各有不同类名所以子类继承父类的构造方法不满足构造方法的语法要求所以不能继承b. 子类的属性 和方法要比父类更复杂所以子类的构造方法需要完成更多的赋值内容所以父类的构造方法不满足子类构造需求子类需要定义自身构造方法。(2) 属性和成员方法取决于访问修饰符(访问权限) 【面试开发重点】a. Java中的4个访问修饰符本类 同包(同包子类非子类) 不同包的子类 其他(不同的非子类)private(私有的) okdefault(默认) ok okprotected(受保护的) ok ok okpublic(公开的、公共的) ok ok ok okb. 修饰符可以修饰符的内容I. 4个访问修饰符都可以用于修饰符属性、成员方法、构造方法II. public 和 default 可以用于修饰类c. 访问修饰符修饰属性和成员方法的继承性如下private (私有的) 不能被继承default(默认的) 同包下的子类可以被继承protected(受保护的)可以被子类继承的 (同包下的子类不同下子类)public (公开的) 可以被继承7. 创建对象的过程继承 (先完成父类对象的创建再完成子类对象的创建) 【理解】(1) 分配空间子类所有的父类空间 —》给属性赋默认值(2) 递归的创建父类对象a. 初始化父类的属性父类属性第二次赋值机会b.执行父类的构造方法父类属性第三次赋值的机会(3) 完成子类对象的创建a. 初始化子类的属性子类属性第二次赋值的机会b. 执行子类的构造方法子类属性第三次赋值的机会8. super的应用: super()/super. 【面试开发重点】(1) 第一种应用a. super() /super(实参) 用在子类的构造方法中指示创建子类对象时JVM先去完成父类对象对象创建时调用父类哪一个构造方法b. super(): 调用父类无参数的构造方法super(实参)调用父类有参数的构造方法c. 注意I .super()/super(实参) 必须定义在构造方法中第一行有效语句II. 子类的构造方法方法第一行如果没有 super()/super(实参)/ … 的应用则JVM默认添加super() ;III. this()/this(实参) 和 super()/super(实参) 不能同时定义在一个构造方法中Iv. 如果子类的构造方法的第一行语句为 this()/this(实参)则JVM完成父类创建时不在当前的子类的构造方法第一行语句查找 super()/super(实参) 而是转向 this()/this(实参)指向的构造方法的第一行查找super()/super(实参)。(2) 第二种应用a. super. 用在子类的构造方法或是成员方法中 代表调用当前父类对象属性和成员方法b. super.属性名 调用父类的属性super.成员方法 调用父类的成员方法面试题目写出 this 和 super 的区别。总结 当前JVM默认添加的代码(1) 在一个类的成员方法中访问本类的其他成员方法或是 属性默认 添加 this.(2) 如果一个类中没有定义构造方法则JVM默认添加公开、无参数的构造方法(3) 如果子类的构造方法第一行没有使用 this()/this(实参) 或是 super(实参) 则JVM默认在构造方法第一行添加 super();(4) java.lang 包中类如果被使用则JVM默认添加 import java.lang. 类名; 语句三、多态概念【理解应用】(1) 多态父类型的引用 指向 子类型对象。语法 父类类名 引用名 new 子类类名(实参);引用 对象父类型 子类型主观类型 实际类型(2) 用父类型的引用调用属性或是成员方法只能调用父类中定义的属性和方法。(编译的时候检测)(3) 运行的时候JVM会自动的检测子类是否覆盖了父类中方法如果子类覆盖父类中方法则执行子类覆盖后的方法否则直接执行的是父类中方法。引用之间的转换【开发应用重点】(1) 父类型的引用 赋值 给 子类型的引用 通过强制类型转换大类型 小类型a. 语法 子类类名 引用名 (子类类名)父类型的引用名;b. 案例Animal a new Dog();Dog d (Dog)a;c. 结果将父类型引用 通过强制类型转换 赋值给子类型的引用编译一定通过,运行分为以下两种情况i. 如果 实际存储对象类型 和 要转换的类型一致则编译通过运行也通过。Animal a new Dog();Dog d (Dog)a;ii. 如果 实际存储对象类型和要转换的类型不一致则编译通过运行报错错误如下java.lang.ClassCastException(类型转换异常)例如 Animal a new Cat(); // 实际存储对象类型是 CatDog d (Dog)a; // 要转换的类型 Dog注意引用中实际存储的对象类型不变. 如何避免类型转换异常( java.lang.ClassCastException)i. 利用 instanceof关键字避免 类型转换异常。ii. 语法引用名 instanceof 类名iii. 作用将引用中存储的实际对象类型 和 instanceof后面的类型相比较如果实际对象类型兼容后面的类型结果-true,不兼容-结果为false.Iv. 应用场景父类型的引用利用强制类型转换为子类型时可以利用 instanceof判断。(2) 子类型 的引用 赋值 父类型的引用 可以直接赋值 —》多态小类型 大类型a. 语法 父类类名 引用名 子类型的引用名;b. 案例Dog d new Dog();Animal a d;(3) 不存在继承关系的双方不允许转换强制类型转换也不能通过编译直接报错。Animal a new Dog();Person p (Person)a; // 编译报错多态的实际开发应用【开发应用重点】(1) 多态用在数组上本类型所有的子类型的对象都可以作为数组元素进行存储。(2) 多态用在形式参数上本类型所有子类型的对象都可以作为实际参数进行传递。(3) 多态用在返回值上本类型所有的子类型的对象都可以作为返回值返回。多态体现的好处【理解】(1) 屏蔽不同子类之间差异性进行统一管理(2) 让程序更加灵活和通用

相关新闻

【鸿蒙】Navigation 路由:页面栈管理与参数传递

【鸿蒙】Navigation 路由:页面栈管理与参数传递

Navigation 路由:页面栈管理与参数传递 > 掌握 HarmonyOS Navigation 组件的完整路由体系,告别手动页面跳转混乱,实现类型安全、可追踪的应用导航。 > > 适用版本:HarmonyOS NEXT / API 12 | 阅读时长&a…

2026/7/8 2:17:59阅读更多 →
2026 大模型 API 选型复盘:从流量转发到企业级治理的市场演变

2026 大模型 API 选型复盘:从流量转发到企业级治理的市场演变

回望 2026 年,大模型(LLM)已完成了从实验室到生产线的全面跨越。随着国内日均 AI Token 调用规模攀升至 140 万亿的历史高点,API 中转平台的服务逻辑发生了根本性转变:它们不再仅仅是简单的协议适配器,而是…

2026/7/8 2:37:17阅读更多 →
零基础入局不良资产行业:新手常见误区与标准化落地方法论

零基础入局不良资产行业:新手常见误区与标准化落地方法论

随着国内金融产业链不断完善,不良资产行业市场规模持续扩容,凭借稳定的行业潜力,成为职场转型、轻量化创业的重要赛道。相较于竞争饱和、门槛固化的传统行业,该赛道容错空间大、业务体系成熟、发展路径清晰,非常适合零…

2026/7/8 1:11:35阅读更多 →
LLM驱动的声学机器人无接触操控系统实战解析

LLM驱动的声学机器人无接触操控系统实战解析

1. 这不是科幻片——一个真实可运行的声学机器人集群系统长什么样“LLM驱动的分布式声学机器人协同无接触操控”——光看标题,很多人第一反应是实验室PPT里的概念图,或是某篇顶会论文里被层层抽象包裹的术语堆砌。但我在去年底接手的一个工业质检产线改造…

2026/7/8 5:21:51阅读更多 →
高精度ADC与ARM MCU在工业信号采集中的应用

高精度ADC与ARM MCU在工业信号采集中的应用

1. 项目背景与核心需求解析 在工业自动化、医疗设备和环境监测等领域,将模拟信号精确转换为数字信号是一项基础而关键的技术需求。ADS122U04作为TI(德州仪器)推出的一款24位Δ-Σ型ADC(模数转换器),配合NXP…

2026/7/8 5:21:51阅读更多 →
2026OpenClaw企业部署品牌推荐:七款商用发行版全场景落地选型测评指南

2026OpenClaw企业部署品牌推荐:七款商用发行版全场景落地选型测评指南

一、行业前言 随着 AI 智能体在企业数字化场景落地普及,基于OpenClaw开源框架衍生出多款商业化发行版,成为各类团队搭建自动化办公流程的常用载体。2026年市面上多款差异化OpenClaw商用工具持续迭代,不同产品针对垂直业务完成技术优化&#x…

2026/7/8 5:21:51阅读更多 →
区块Web3比特币挖矿是什么?

区块Web3比特币挖矿是什么?

朋友聚餐聊起“比特币挖矿”,不少人会脑补“工人戴安全帽挖金矿"的画面。但如果把比特币世界比作一座巨型线上社区,“挖矿”更像是大家抢着当“社区记账员”,还要通过一场“猜数字比赛”证明自己够格,赢了就能领比特币奖金。…

2026/7/8 5:21:51阅读更多 →
解读全国专业的DTSS咨询服务商,哪个口碑好更值得选

解读全国专业的DTSS咨询服务商,哪个口碑好更值得选

DTSS全称数字化转型服务商分类分级评估,是国内当前针对数字化转型服务领域推出的权威能力评估标准。其旨在规范数字化转型服务市场,帮助需求方甄别具备合格服务能力的数字化转型服务商,也为数字化转型服务商提了供清晰的能力提升框架。随着数…

2026/7/8 5:21:51阅读更多 →
别再复制粘贴那些坑爹的Java Webservice接口代码了!我实测了一个能用的

别再复制粘贴那些坑爹的Java Webservice接口代码了!我实测了一个能用的

把一些Java调用接口的事例看过之后, 它们好多都是通过CtrlC、CtrlV得来的, 在好多拿来运用时却发觉存在差错, 这让人烦闷, 为此特意撰写了一篇经过测试的, 仅仅只是一个小例子。服务端(为客户端提供接口):使用工具:-8.6.1-win32&a…

2026/7/8 5:16:50阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/8 5:12:14阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/7 2:56:31阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/8 2:26:06阅读更多 →
作为一个给团队打绩效的人,我想说几句

作为一个给团队打绩效的人,我想说几句

我每半年都会给团队成员打绩效,也会参与和 CTO 的绩效校准,所以从管理者的视角,说说这件事 首先,我先把结论告诉你:接受结果,但一定要把原因问清楚。 因为当绩效公布到你这里的时候,结果基本已…

2026/7/8 0:01:17阅读更多 →
A股股指期货:全维度解析(多表格结构化完整版)

A股股指期货:全维度解析(多表格结构化完整版)

一、基础定义与核心本质股指期货全称股票价格指数期货,是中国金融期货交易所(中金所)上市的标准化金融期货合约,交易标的为 A 股大盘指数,约定未来特定时间按约定价格现金交割指数涨跌差价,不交割一篮子股票…

2026/7/8 0:01:17阅读更多 →
iOS越狱新手指南:从困惑到掌控,3天解锁iPhone无限潜能的真实故事

iOS越狱新手指南:从困惑到掌控,3天解锁iPhone无限潜能的真实故事

iOS越狱新手指南:从困惑到掌控,3天解锁iPhone无限潜能的真实故事 【免费下载链接】Jailbreak iOS 26.4 - 26, 17 - 17.7.5 & iOS 18 - 18.7.3 Jailbreak Tools, Cydia/Sileo/Zebra Tweaks & Jailbreak News Updates || AI Jailbreak Finder &…

2026/7/8 0:01:17阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/7 5:11:21阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/7 5:11:21阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/7 5:11:21阅读更多 →