news 2026/4/15 23:02:33

【Java 笔记】面向对象核心 - 类和对象

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Java 笔记】面向对象核心 - 类和对象

一、核心概念:什么是类?什么是对象?

1.1 先搞懂:面向对象 vs 面向过程

  • 面向过程:关注 “步骤”,比如 “打开冰箱→放东西→关冰箱”,一步一步按流程写代码(代表语言:C 语言)。
  • 面向对象:关注 “对象”,把 “冰箱” 当成一个独立的 “对象”,冰箱自己有 “开门、关门、存放物品” 的功能,我们只需要调用冰箱的功能即可,不用关心内部实现。

1.2 类(Class):对象的 “设计图 / 模板”

类是抽象的,是对一类事物的共同特征和行为的描述。

  • 特征:对应类中的 “成员变量”(也叫属性 / 字段),比如 “手机” 类的特征:品牌、价格、颜色。
  • 行为:对应类中的 “成员方法”(也叫函数),比如 “手机” 类的行为:打电话、发短信、拍照。

1.3 对象(Object):类的 “具体实例”

对象是具体的,是根据类的模板创建出来的实实在在的 “东西”,拥有类定义的所有特征和行为。

  • 一个类可以创建无数个对象,比如 “手机” 类可以创建 “小米 14”、“iPhone 15”、“华为 Mate70” 等多个对象;
  • 每个对象的属性值可以不同(比如小米 14 价格 4999,iPhone 15 价格 5999),但行为逻辑一致(都能打电话)。

二、语法实战:如何定义类、创建对象?

2.1 第一步:定义类(语法格式)

java

运行

// 类的命名规范:首字母大写,驼峰命名(比如Phone、Student) public class 类名 { // 1. 成员变量(属性):描述特征,直接定义在类中、方法外 数据类型 变量名1; 数据类型 变量名2 = 初始值; // 可选:给默认值 // 2. 成员方法(行为):无static关键字 方法返回值类型 方法名(参数列表) { // 方法体:具体行为逻辑 代码逻辑; return 返回值; // 无返回值(void)则省略 } }

实战案例:定义 Phone 类

java

运行

// 手机类:描述手机的特征和行为 public class Phone { // 成员变量(属性) String brand; // 品牌 double price; // 价格 String color; // 颜色 // 成员方法(行为):打电话 public void call(String name) { System.out.println("给" + name + "打电话"); } // 成员方法:发短信 public void sendMessage() { System.out.println("发送短信"); } }

2.2 第二步:创建并使用对象(语法格式)

核心语法:

java

运行

// 1. 创建对象:类名 对象名 = new 类名(); 类名 对象名 = new 类名(); // 2. 使用对象: // (1)访问属性:对象名.属性名 对象名.属性名 = 值; // 赋值 System.out.println(对象名.属性名); // 取值 // (2)调用方法:对象名.方法名(参数) 对象名.方法名(参数);

实战案例:使用 Phone 类创建对象

java

// 测试类:包含main方法(程序入口) public class PhoneTest { public static void main(String[] args) { // 1. 创建Phone类的对象(实例化) Phone p1 = new Phone(); // 2. 给对象的属性赋值 p1.brand = "小米14"; p1.price = 4999.0; p1.color = "黑色"; // 3. 访问对象的属性 System.out.println("品牌:" + p1.brand); // 输出:品牌:小米14 System.out.println("价格:" + p1.price); // 输出:价格:4999.0 // 4. 调用对象的方法 p1.call("张三"); // 输出:给张三打电话 p1.sendMessage(); // 输出:发送短信 // 拓展:创建第二个Phone对象(同一类可以创建多个对象) Phone p2 = new Phone(); p2.brand = "iPhone 15"; p2.price = 5999.0; p2.call("李四"); // 输出:给李四打电话 } }

总结

  1. 核心关系:类是对象的模板(抽象),对象是类的实例(具体),一个类可以创建多个对象;
  2. 语法核心:定义类(成员变量 + 成员方法)→ 创建对象(new 类名 ())→ 使用对象(对象名。属性 / 方法);
  3. 关键区别:成员变量(类中、有默认值、堆内存)和局部变量(方法中、无默认值、栈内存)的差异是新手必掌握的重点。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 14:27:01

场景落地:如何用TurboDiffusion为教育机构制作互动教学视频

场景落地:如何用TurboDiffusion为教育机构制作互动教学视频 1. 教育场景的痛点与TurboDiffusion的破局价值 教育不是单向灌输,而是激发思考、建立连接、创造共鸣的过程。但现实中,许多教育机构正面临三重困境:内容生产成本高、知…

作者头像 李华
网站建设 2026/4/15 21:52:06

再也不用手动对齐字体!Qwen-Image-Edit-2511自动匹配风格

再也不用手动对齐字体!Qwen-Image-Edit-2511自动匹配风格 你有没有为一张海报反复调整过三次字体? 运营发来需求:“把‘新品首发’四个字换成‘限时加赠’,字号不变、位置不动、粗细一致、颜色微调——但别让设计师看出来是改的。…

作者头像 李华
网站建设 2026/4/16 12:10:44

升级SGLang后,我的LLM响应速度大幅提升

升级SGLang后,我的LLM响应速度大幅提升 你有没有试过:明明模型参数量不大,GPU显存也充足,可一到高并发请求,响应就卡顿、延迟飙升、吞吐掉一半?我之前部署一个7B模型做客服问答,QPS刚过12&…

作者头像 李华
网站建设 2026/4/16 13:01:15

本地AI绘图新选择!Qwen-Image-Edit-2511实测体验

本地AI绘图新选择!Qwen-Image-Edit-2511实测体验 最近在本地部署AI图像编辑模型时,偶然试用了刚发布的 Qwen-Image-Edit-2511。没有复杂的环境配置,不依赖云端API,只用一台带4G显存的笔记本,就能完成人物换装、多人合…

作者头像 李华
网站建设 2026/4/16 14:06:39

YOLOv9镜像让目标检测变得超级简单

YOLOv9镜像让目标检测变得超级简单 你有没有试过部署一个目标检测模型,结果卡在环境配置上整整一天?装CUDA版本不对、PyTorch和torchvision版本不匹配、OpenCV编译失败、yaml路径写错、权重文件下载中断……这些不是玄学,是真实发生在每个AI…

作者头像 李华
网站建设 2026/4/16 12:25:55

开发者必看:Open-AutoGLM ADB调试与API调用技巧

开发者必看:Open-AutoGLM ADB调试与API调用技巧 作为智谱开源的手机端AI Agent框架,Open-AutoGLM(即AutoGLM-Phone)不是另一个“能聊天”的大模型,而是一个真正能看懂屏幕、理解意图、动手操作的智能体。它不依赖App内…

作者头像 李华