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/6/17 21:13:56阅读更多 →
2026 大模型 API 选型复盘:从流量转发到企业级治理的市场演变

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

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

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

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

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

2026/6/17 21:13:56阅读更多 →
weweChat技术架构深度解析:基于React、MobX和Electron的桌面微信客户端实现

weweChat技术架构深度解析:基于React、MobX和Electron的桌面微信客户端实现

weweChat技术架构深度解析:基于React、MobX和Electron的桌面微信客户端实现 【免费下载链接】weweChat 💬 Unofficial WeChat client built with React, MobX and Electron. 项目地址: https://gitcode.com/gh_mirrors/we/weweChat 问题背景与技术…

2026/6/17 22:45:03阅读更多 →
BiliBiliToolPro终极指南:5分钟掌握B站自动化管理,解放你的时间与精力

BiliBiliToolPro终极指南:5分钟掌握B站自动化管理,解放你的时间与精力

BiliBiliToolPro终极指南:5分钟掌握B站自动化管理,解放你的时间与精力 【免费下载链接】BiliBiliToolPro B 站(bilibili)自动任务工具,支持docker、青龙、k8s等多种部署方式。全面拥抱AI。敏感肌也能用。 项目地址: …

2026/6/17 22:45:03阅读更多 →
Appium元素定位实战指南:五大核心方法解析与避坑技巧

Appium元素定位实战指南:五大核心方法解析与避坑技巧

1. 项目概述:为什么元素定位是App自动化的基石 在移动应用自动化测试的世界里,元素定位是第一步,也是最关键、最磨人的一步。无论你的测试框架设计得多精妙,业务逻辑封装得多优雅,如果连一个按钮都点不到、一个输入框都…

2026/6/17 22:45:03阅读更多 →
甘肃高口碑黄金铂金回收白银回收实体老店排行 5 家靠谱门店电话地址全收录

甘肃高口碑黄金铂金回收白银回收实体老店排行 5 家靠谱门店电话地址全收录

漫步甘肃街头,黄金铂金白银回收门店鳞次栉比,看似繁华却鱼龙混杂,市民稍不留神便可能踩坑。为帮大家甄别靠谱变现渠道,小编实地走访、层层筛选,最终锁定本地五家优质诚信商户。这份清单既有连锁老牌机构,也…

2026/6/17 22:45:03阅读更多 →
计算机毕业设计之jsp办公电子文档收集与管理系统

计算机毕业设计之jsp办公电子文档收集与管理系统

网络的广泛应用给生活带来了十分的便利。所以把办公电子文档收集与管理与现在网络相结合,利用JSP技术建设办公电子文档收集与管理系统,实现办公电子文档收集与管理的信息化。则对于进一步提高公司的发展,丰富办公电子文档收集与管理经验能起到…

2026/6/17 22:45:03阅读更多 →
天光云影Android TV直播应用:5分钟快速上手指南与高级配置技巧

天光云影Android TV直播应用:5分钟快速上手指南与高级配置技巧

天光云影Android TV直播应用:5分钟快速上手指南与高级配置技巧 【免费下载链接】mytv-android Material 3 Expressive 风格的Android/Android TV IPTV播放器,内建Media3,IJKplayer和 VLC。A Material 3 Expressive style Android/Android TV IPTV player…

2026/6/17 22:40:03阅读更多 →
飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

飞书机器人接入 OpenClaw 完整落地部署指南(含安装包)

OpenClaw 2.7.9 对接飞书机器人完整配置教程 本文讲解借助长连接模式打通 OpenClaw 与飞书的操作流程,配置完成后,可在飞书私聊、群组内发送指令,调用本地 AI 实现电脑自动化操作。整体流程分为飞书平台创建应用、权限配置、密钥填写三大环节…

2026/6/17 10:40:20阅读更多 →
嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

嵌入式处理器技术演进与飞思卡尔实战解析:从架构选型到系统设计

1. 嵌入式处理器:从“大脑”到“神经系统”的进化 在电子设备无处不在的今天,我们很少会去思考一个智能设备是如何“思考”和“行动”的。无论是汽车引擎的精准控制、工厂机械臂的流畅运转,还是智能家居的自动响应,其背后都离不开…

2026/6/17 10:40:20阅读更多 →
如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南

如何高效使用BallonTranslator:3分钟完成漫画翻译的完整实用指南 【免费下载链接】BallonsTranslator 深度学习辅助漫画翻译工具, 支持一键机翻和简单的图像/文本编辑 | Yet another computer-aided comic/manga translation tool powered by deeplearning 项目地…

2026/6/17 10:40:20阅读更多 →