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

目录

一,引言

二,什么是面向对象

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

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

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

三,对比面向过程


一,引言

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

二,什么是面向对象

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

1. 核心

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

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

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

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

2. 两个关键

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

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

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

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

3. 四大特性

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

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

三,对比面向过程

  • 面向过程:像做番茄炒蛋的菜谱,一步一步写 "1. 切番茄 2. 打鸡蛋 3. 下锅炒",关注步骤;
  • 面向对象:像直接喊 "厨师做番茄炒蛋"------ 厨师是一个 "对象",他自带 "会切菜、会炒菜" 的本事,你只需要告诉对象做什么,不用管他具体怎么切、怎么炒。
相关推荐
coding随想8 小时前
掌控选区的终极武器:getSelection API的深度解析与实战应用
java·前端·javascript
嵌入式小能手8 小时前
飞凌嵌入式ElfBoard-文件I/O的深入学习之存储映射I/O
java·前端·学习
ChinaRainbowSea9 小时前
github 仓库主页美化定制
java·后端·github
程序猿小蒜9 小时前
基于springboot的医院资源管理系统开发与设计
java·前端·spring boot·后端·spring
程序员-周李斌9 小时前
ConcurrentHashMap 源码分析
java·开发语言·哈希算法·散列表·开源软件
ChrisitineTX10 小时前
凌晨突发Java并发问题:synchronized锁升级导致接口超时,排查过程全记录
java·数据库·oracle
zzhongcy10 小时前
Java: HashMap 和 ConcurrentHashMap的区别
java·开发语言
✎ ﹏梦醒͜ღ҉繁华落℘10 小时前
菜鸟的算法基础
java·数据结构·算法
老华带你飞10 小时前
社团管理|基于Java社团管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端