【JavaSE语法】面向对象初步认识

目录

一,引言

二,什么是面向对象

[1. 核心](#1. 核心)

[2. 两个关键](#2. 两个关键)

[3. 四大特性](#3. 四大特性)

三,对比面向过程


一,引言

众所周知,面向对象作为目前软件开发领域的主流思想,凭借封装、继承、多态三大核心特性,实现了对现实世界实体的精准抽象与高效建模。相较于传统面向过程的开发模式,面向对象思想能够显著提升代码的复用性、可读性与可维护性,降低大型复杂系统的开发与迭代成本。

二,什么是面向对象

Java是一门纯粹的面向对象的语言,在面向对象的世界中,一切皆为对象。用大白话讲,面向对象就是把编程这件事,变成 "模拟现实世界"。就像玩过家家,把现实里的东西(比如大象、手机、人)搬进代码里,让它们像现实中一样 "有特征、能做事",还能互相互动。

1. 核心

把"东西"变成代码中的"对象"

现实里的任何东西,都能拆成两部分:

  • 它有啥(属性):比如大象有体重、年龄、颜色;手机有品牌、电量、尺寸;
  • 它能做啥(行为):比如大象会叫、会走路;手机会打电话、会亮屏。

面向对象就是把这些 "东西" 做成代码里的 "对象"------ 比如先造一个 "冰箱对象",它自带 "长宽高、能耗" 的属性,也自带 "冰冻、保鲜" 的行为,想用的时候直接喊它做事就行(比如让冰箱存储食物),不用像以前那样一步步写 "怎么保鲜,如何保鲜"。

2. 两个关键

"类" 是模板,"对象" 是具体的东西

比如你想造 10 个冰箱,总不能每次都重新设计冰箱的电路图、构造、外观吧?

  • 类:就是 "冰箱的模板",先定好 "所有冰箱都有规格、都能制冷",相当于画一张冰箱的设计图;
  • 对象:就是按模板造出来的 "具体某一个冰箱"------ 比如模板是 "冰箱类",造出来的 "小明家的 双开门冰箱""小红家的保鲜冰箱",都是具体的对象。

Java 里 "一切皆对象",意思就是:除了数字、字符这种最基础的东西,代码里的所有玩意儿(比如字符串、数组、你写的冰箱),都是按 "类" 造出来的对象。

3. 四大特性

这是面向对象的 "规矩",让代码更像现实:

  • 封装:给对象的 "隐私" 上锁。比如冰箱的制冷温度不能随便改(总不能设成 -100 度吧,会冻坏压缩机),只能通过 "调温" 的专用方法改;
  • 继承:偷懒又统一。比如 "双开门冰箱" 不用重新写 "能制冷、能保鲜",直接继承 "冰箱模板" 的这些本事,只加自己特有的(比如 "分区独立控温"),就像儿子继承爸爸的长相,又有自己的特点;
  • 多态:同一行为,各有各的样。比如都是 "制冷",双开门冰箱是 "分区慢制冷",保鲜冰箱是 "恒温快速制冷",但你不用管具体是谁,只要喊 "冰箱开始制冷",它们就会按自己的方式制冷,就像同样是 "吃饭",人用筷子,猫用爪子;
  • 抽象:抓重点,不纠结细节。比如所有冰箱都 "会制冷",但模板里只说 "冰箱要会制冷",不管具体怎么制冷 ------ 具体是 "分区制冷" 还是 "整体制冷",让双开门冰箱、保鲜冰箱自己定,就像你只要求 "学生要写作业",不管是写数学还是语文。

三,对比面向过程

  • 面向过程:像做番茄炒蛋的菜谱,一步一步写 "1. 切番茄 2. 打鸡蛋 3. 下锅炒",关注步骤;
  • 面向对象:像直接喊 "厨师做番茄炒蛋"------ 厨师是一个 "对象",他自带 "会切菜、会炒菜" 的本事,你只需要告诉对象做什么,不用管他具体怎么切、怎么炒。
相关推荐
hello 早上好7 小时前
05_Java 类加载过程
java·开发语言
echoVic8 小时前
多模型支持的架构设计:如何集成 10+ AI 模型
java·javascript
橙露8 小时前
Java并发编程进阶:线程池原理、参数配置与死锁避免实战
java·开发语言
echoVic8 小时前
AI Agent 安全权限设计:blade-code 的 5 种权限模式与三级控制
java·javascript
PPPPickup8 小时前
easymall---图片上传以及图片展示
java
历程里程碑8 小时前
Linux 库
java·linux·运维·服务器·数据结构·c++·算法
Wpa.wk8 小时前
接口自动化 - 接口鉴权处理常用方法
java·运维·测试工具·自动化·接口自动化
Pluchon8 小时前
硅基计划4.0 简单模拟实现AVL树&红黑树
java·数据结构·算法
2501_916008898 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
wxin_VXbishe8 小时前
C#(asp.net)学员竞赛信息管理系统-计算机毕业设计源码28790
java·vue.js·spring boot·spring·django·c#·php