当前位置: 首页 > article >正文

零基础吃透 Java 面向对象:类、对象、this 与 static 实战

Java 面向对象基础类与对象一、章节整体框架本章共六大核心模块由浅入深构建面向对象知识体系1. 面向对象概述2. 类的定义3. 对象的创建与使用4. 方法重载5. this 关键字6. static 关键字本章内容是后续封装、继承、多态的基础。二、面向对象概述OOP 思想核心1. 面向对象的核心定义面向对象是一种符合人类思维习惯的编程思想。现实世界由不同事物组成事物之间存在联系与交互。程序映射用对象映射现实事物用对象关系描述事物联系。2. 面向过程 vs 面向对象关键对比3. 面向对象三大特征封装、继承、多态。本章重点围绕封装展开。三、类与对象基础中的基础1. 类的概念类Class对一类事物的共同属性和行为进行抽象。类是对象的模板、蓝图、设计图纸。2. 对象的概念对象Object类的具体实例。一个类可以创建多个独立对象。3. 对象创建语法java类名 对象名 new 类名();四、成员变量与局部变量核心易错点1. 成员变量定义位置类内、方法外有默认值int → 0double → 0.0boolean → false引用类型 → null作用域整个类内有效存储堆内存隶属于对象可使用访问修饰符public、private 等2. 局部变量定义位置方法内或代码块内无默认值使用前必须手动赋值作用域定义处 → 所在 {} 结束存储栈内存不能使用访问修饰符3. 变量同名规则重点成员变量与局部变量允许同名。方法内遵循就近原则优先访问局部变量。若需访问成员变量使用 this.变量名 。4. 局部变量作用域规则嵌套作用域不允许定义同名局部变量会报错互不嵌套作用域可以定义同名变量相互独立五、成员方法类的行为与功能1. 成员方法概念成员方法描述类的行为、操作、功能是可复用的逻辑模块。2. 方法标准语法java[修饰符] 返回值类型 方法名(参数列表) {// 方法体[return 返回值;]}3. 方法五要素1. 修饰符访问权限2. 返回值类型void 表示无返回值3. 方法名小驼峰见名知意4. 参数列表输入数据5. 方法体功能实现4. return 语句有返回值 return 结果;无返回值 return; 用于提前结束方法5. 流程控制关键字区别break 跳出循环 / switchcontinue 跳过本次循环进入下一次return 直接结束整个方法6. 方法形参规则如果方法需要的数据已经是成员变量形参列表可以为空直接访问成员变量即可。六、方法重载重载规则详解1. 方法重载定义在同一个类中方法名相同参数列表不同。2. 参数列表不同指参数个数不同参数类型不同参数顺序不同类型不同时3. 注意事项返回值不同不构成重载重载是为了统一功能命名提高代码可读性七、访问控制修饰符封装的核心Java 提供四种访问权限private default protected public权限范围表使用习惯成员变量通常设为 private对外提供 public get/set 方法工具方法用 default/protected/public 按需设置八、this 关键字当前对象引用1. 作用代表当前对象自身2. 三种主要用法1. 区分成员变量与局部变量同名javathis.name name;2. 调用本类其他方法javathis.方法名();3. 调用本类构造方法必须在第一行javathis(参数);九、static 关键字类级成员1. static 含义被 static 修饰的成员属于类不属于某个对象。2. 静态变量所有对象共享一份数据访问方式 类名.静态变量3. 静态方法可通过 类名.方法名() 直接调用不能直接访问非静态成员非静态属于对象静态方法不能使用 this4. 静态代码块在类加载时执行一次常用于初始化静态资源十、构造方法对象初始化1. 定义规则方法名与类名完全相同没有返回值类型连 void 都不写2. 作用创建对象时初始化成员变量。3. 特点若不写编译器自动生成无参构造支持重载十一、封装思想OOP 核心体现1. 封装目的隐藏内部数据对外提供必要接口。2. 封装实现方式成员变量用 private对外提供 public get/set 方法3. 优势数据安全可维护性高降低耦合十二、完整代码示例来自多轮对话合并择优1. 类的定义与对象创建javapublic class Person {// 成员变量String name;int age;// 方法public void introduce() {System.out.println(姓名 name 年龄 age);}}2. 带参数方法javapublic void study(String course) {System.out.println(name 正在学习 course);}3. 带返回值方法javapublic int add(int a, int b) {return a b;}4. 综合实战示例javapublic class Student {String name;int score;public void setInfo(String n, int s) {name n;score s;}public char getLevel() {if (score 90) return A;else if (score 80) return B;else return C;}}十三、学习建议1. 理解“类是模板对象是实例”的核心关系。2. 熟练写类、写成员变量、写成员方法。3. 掌握 new 创建对象并调用成员。4. 搞懂 this 的三种使用场景。5. 分清 static 成员与实例成员的调用方式。6. 本章是封装、继承、多态的基础务必打牢。十四、最终完整知识体系图本章整体逻辑面向对象思想 → 类的抽象 → 对象的实例 → 成员变量与方法 → 访问控制 → 封装 → this static → 后续继承与多态

相关文章:

零基础吃透 Java 面向对象:类、对象、this 与 static 实战

Java 面向对象基础:类与对象一、章节整体框架本章共六大核心模块,由浅入深构建面向对象知识体系:1. 面向对象概述2. 类的定义3. 对象的创建与使用4. 方法重载5. this 关键字6. static 关键字本章内容是后续封装、继承、多态的基础。二、面向对…...

Rust 错误处理实战:优雅应对异常情况

Rust 错误处理实战:优雅应对异常情况 错误处理的重要性 在编程中,错误处理是一个不可避免的部分。无论我们的代码写得多好,总会遇到各种异常情况,如文件不存在、网络连接失败、权限不足等。良好的错误处理可以使我们的程序更加健…...

软件评测师基础知识专项刷题:软件工程

前言软考软件评测师备考之路,基础刷题必不可少。本文围绕【软件工程】模块整理经典习题 核心考点梳理,系列内容长期连载更新,慢慢积累、逐个突破,轻松夯实应试功底。考点软件工程基本原理:用分阶段的生命周期计划严格…...

Python热力学计算革命:iapws如何解决工程中的水蒸气物性计算难题

Python热力学计算革命:iapws如何解决工程中的水蒸气物性计算难题 【免费下载链接】iapws python libray for IAPWS standard calculation of water and steam properties 项目地址: https://gitcode.com/gh_mirrors/ia/iapws 在能源工程、化工设计和环境模拟…...

别再只盯着CAN了!手把手教你用CAN FD收发器搞定汽车ECU的8Mbps高速通信

从传统CAN到CAN FD:硬件选型与高速通信实战指南 汽车电子控制系统正经历着从传统CAN总线向CAN FD的迭代升级。作为一名长期奋战在汽车电子研发一线的工程师,我深刻理解这种技术转型带来的挑战与机遇。记得去年参与某新能源车型的ECU开发时,团…...

LyricsX:让Mac音乐体验更完美的智能歌词同步神器 [特殊字符]

LyricsX:让Mac音乐体验更完美的智能歌词同步神器 🎵 【免费下载链接】LyricsX 🎶 Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX 你是一个文章写手,你负责为开源项目写专业易懂的文…...

Python:Netmiko实现网络设备巡检及配置备份

通过Python的第三方库Netmiko实现不同厂商网络设备的日常巡检及配置备份。一、设备列表文件:JSON 文件1、 我们先看一个示例(1)拓扑(2)脚本import time from netmiko import ConnectHandlerAR1 {"host": &q…...

基于Web Audio与Canvas实现浏览器端音视频动态合成

1. 项目概述与核心价值最近在折腾一些个人项目,想给静态页面加点“活”的交互,比如让用户上传一张图片,然后生成一个带点律动感的音乐视频。这听起来像是需要一整套复杂的音视频处理流水线,从音频分析到视觉生成,没个几…...

Python实现本地网络摄像头服务器:MJPEG流原理与Flask部署实战

1. 项目概述:从“玩具”到“利器”的本地网络摄像头如果你手头有一台闲置的旧手机、一个吃灰的USB摄像头,或者只是想用电脑自带的摄像头搭建一个简单的监控、直播或视频会议服务器,那么mehmetkahya0/local-web-camera这个项目绝对值得你花时间…...

3个维度解析Backtrader-PyQt可视化回测平台:从零到策略实战的完整指南

3个维度解析Backtrader-PyQt可视化回测平台:从零到策略实战的完整指南 【免费下载链接】backtrader-pyqt-ui 项目地址: https://gitcode.com/gh_mirrors/bac/backtrader-pyqt-ui 在量化交易的世界里,策略回测常常是开发者最头疼的环节——要么面…...

现代化终端模拟器开发:从原理到实践,构建智能开发环境

1. 项目概述:一个面向未来的终端模拟器在开发者的日常工作中,终端(Terminal)是连接我们与计算机系统核心的桥梁。无论是进行服务器运维、代码编译、版本控制还是日常的文件操作,一个高效、稳定且功能强大的终端模拟器&…...

Vanna 2.0企业级部署:基于LLM智能体的自然语言转SQL与权限控制实战

1. 项目概述:从自然语言到数据洞察的智能桥梁在数据驱动的时代,数据分析师和业务人员之间似乎总隔着一道无形的墙。业务人员用自然语言提问:“上个季度华东区的销售冠军是谁?”,而分析师则需要将其翻译成复杂的SQL查询…...

AI智能体编排平台d3vsh0p:从需求到代码的自动化软件开发实践

1. 项目概述:一个由AI驱动的自主软件开发平台 如果你和我一样,经历过无数次从零开始构建一个软件项目的繁琐过程——写需求文档、设计架构、编码、测试、调试,再到最后的部署和维护——你可能会想,有没有一种方式能让这个过程更自…...

别再怕单点故障了!用HCL模拟器手把手搭建M-LAG双活核心网络(附完整配置与排错)

别再怕单点故障了!用HCL模拟器手把手搭建M-LAG双活核心网络(附完整配置与排错) 当核心交换机突然宕机,整个办公区网络瘫痪的红色警报在监控屏上闪烁时,我正端着咖啡准备开始周一晨会。这种场景对任何网络管理员来说都是…...

FreeSWITCH与AI大模型融合:构建智能语音交互系统核心架构

1. 项目概述:当FreeSWITCH遇上AI语音交互最近在折腾一个挺有意思的玩意儿,把FreeSWITCH这个老牌的开源软交换平台,和当下火热的AI大语言模型(比如ChatGPT)给打通了。项目名字就叫laoyin/freeswitch_chatGPT&#xff0c…...

多平台内容分发系统架构设计与实现思路 行业通用技术方案解析

前言从后端开发与系统架构设计视角来看,当下很多技术团队、自媒体工作室、企业运营部门,都有搭建多平台内容矩阵分发系统的需求。无论是技术博文跨平台同步、企业官方内容统一发布,还是垂直领域账号矩阵运维,本质上都需要一套标准…...

DSP F28335 ADC配置避坑指南:从官方例程到实战,我踩过的那些时钟和采样模式的坑

DSP F28335 ADC实战避坑手册:时钟配置与采样模式的高效调优策略 第一次接触F28335的ADC模块时,我像大多数工程师一样,直接套用了TI官方例程的配置参数。结果在电机控制项目中,采样值总是出现周期性波动,导致PID调节异常…...

AAEON PICO-ASL4工业级Pico-ITX单板计算机解析与应用

1. AAEON PICO-ASL4工业级Pico-ITX单板计算机深度解析在工业自动化和边缘计算领域,对小型化、低功耗且高性能计算设备的需求日益增长。AAEON推出的PICO-ASL4正是针对这一需求设计的解决方案。这款采用Pico-ITX规格的单板计算机(SBC)集成了Intel最新的Atom x7000RE系…...

Anthropic Claude API用户代理插件:伪装请求头绕过限制与优化调用

1. 项目概述与核心价值 最近在折腾一些AI应用开发,发现一个挺有意思的GitHub项目: tenorduckpate119/opencode-anthropic-user-agent-plugin 。乍一看这个仓库名有点长,但拆解一下就能明白它的核心价值——这是一个针对Anthropic Claude A…...

以物理定律约束智能算法,用镜像技术重构时空感知

以物理定律约束智能算法,用镜像技术重构时空感知——镜像视界新一代空间智能可信技术白皮书前言当下空间智能与数字孪生产业,深陷纯数据驱动算法脱离物理逻辑、时空感知失真、推演结果不可控、系统可信度不足的行业困境,智能算法黑箱、时空基…...

DeepSeek-V4-pro 接入 Claude Code 教程

本教程介绍了如何将 DeepSeek 的最新模型(V4 Flash / V4 Pro)通过 API 的方式接入 Claude Code,打造极具性价比的本地 AI 智能代理,并解锁百万级上下文与最高思考等级。 核心亮点 绕过官方模型限制:无订阅也可使用 C…...

基于 Simulink 的数字控制延时补偿与稳定性分析深度实战教程

目录 🎯 一、 核心痛点:为什么算法上板就“发疯”? 🛠️ 二、 详细建模过程:复现“炸机”现场 第一步:搭建含真实延时的被控对象 第二步:频域透视——伯德图验证 💻 三、 核心代码与算法实现 策略 A:一拍超前预测(One-Step-Ahead Prediction) 策略 B:改进…...

基于Simulink的储能变流器(PCS)并网预同步与离/并网无缝切换控制​

目录 手把手教你学Simulink——基于Simulink的储能变流器(PCS)并网预同步与离/并网无缝切换控制​ 摘要​ 一、背景与挑战​...

想在Win10任务栏显示秒数?试试用StartAllBack配合注册表修改(附详细步骤)

在Windows 10任务栏精准显示秒数的完整方案 每次盯着任务栏的时间区域,总觉得少了点什么?对于需要精确计时的工作场景——比如直播倒计时、程序调试或是单纯的时间强迫症患者来说,系统默认隐藏秒数的设计确实不够友好。虽然微软在Windows 10…...

千问 LeetCode 2127.参加会议的最多员工数 public int maximumInvitations(int[] favorite)

这道题是图论中的经典问题,考察的是基环树的处理。🧠 题目分析1. 建模:将员工看作图的节点,favorite[i] 表示从节点 i 指向节点 favorite[i] 的一条有向边。 2. 图的结构:由于每个节点出度为 1,这个图由若…...

Python初学者项目练习9--对简单列表元素排序

一、练习题目 给定一个简单列表,对其元素进行排序简单列表:元素类型不是复合类型(列表/元组/字典) 示例: 形式1:[10,20,30,40] 形式2:[‘aa’, ‘bb’, ‘cc’…...

【赵渝强老师】Hadoop的伪分布部署模式

Hadoop的安装和部署是大数据生态圈体系中最麻烦的一个。Hadoop部署完成后,进一步地部署Spark和Flink就非常容易了。Hadoop的部署模式分为本地模式、伪分布模式和全分布模式。在学习完成了ZooKeeper的相关内容后,还将进一步地学习Hadoop HA的部署。这里重…...

千问 LeetCode 2122.还原原数组 public int[] recoverArray(int[] nums)

这道题的核心思路是枚举 双指针验证。🧠 解题思路1. 排序:首先将 nums 数组排序。排序后,最小的元素 nums[0] 必然是原数组某个元素减去 k 得到的(即 lower 数组中的最小值)。 2. 枚举 k:我们遍历排序后…...

Ising机与Bounce-Bind机制在组合优化中的应用

1. Ising机与组合优化问题概述在计算复杂性理论中,组合优化问题(Combinatorial Optimization Problems, COPs)因其NP难特性而闻名。这类问题在物流调度、芯片设计、金融投资组合等领域广泛存在。传统计算机采用冯诺依曼架构,其串行…...

硬件设计避坑:PMOS缓启动电路关断慢?实测教你优化栅极泄放回路(含仿真文件)

PMOS缓启动电路优化实战:栅极泄放回路设计与关断性能提升 引言 在电源管理系统中,PMOS管因其低导通电阻和简单驱动特性,常被用作电源开关。但当负载端存在较大容性负载时,直接开关可能导致瞬间大电流冲击,因此缓启动电…...