news 2026/7/14 23:55:07

【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/7/11 21:45:21

YOLOv13模型导出ONNX全过程,附完整代码

YOLOv13模型导出ONNX全过程,附完整代码 在目标检测工程落地的关键环节中,模型导出从来不是“最后一步”,而是连接训练与部署的枢纽。很多团队卡在 ONNX 导出失败、推理结果不一致、动态轴缺失或后处理逻辑错位上——不是模型不行&#xff0c…

作者头像 李华
网站建设 2026/7/13 3:00:11

Z-Image-Turbo_UI界面使用小贴士:提升效率的细节

Z-Image-Turbo_UI界面使用小贴士:提升效率的细节 你已经成功部署了Z-Image-Turbo_UI镜像,浏览器里打开http://localhost:7860就能看到那个简洁清爽的生成界面——但别急着输入提示词就点生成。真正让日常图像创作变快、变稳、变省心的,往往藏…

作者头像 李华
网站建设 2026/7/1 8:15:24

新手必看:Arduino IDE驱动DHT11传感器入门

以下是对您提供的博文内容进行 深度润色与专业重构后的版本 。我以一位深耕嵌入式教学多年、常年在B站/知乎/开源社区答疑解惑的工程师身份,用更自然、更具实操温度的语言重写了全文——它不再像“技术文档”,而更像是一位老师坐在你对面,一…

作者头像 李华
网站建设 2026/7/7 9:08:41

YOLOv10 + TensorRT加速:推理速度提升2.5倍实测

YOLOv10 TensorRT加速:推理速度提升2.5倍实测 在工业质检产线中,一张PCB板图像从采集到缺陷判定必须控制在30毫秒内;在智能交通路口,单路摄像头每秒需处理25帧高清视频,同时识别车辆、行人、非机动车等十余类目标——…

作者头像 李华
网站建设 2026/7/1 8:15:25

Z-Image-Turbo真实反馈:指令遵循性远超预期

Z-Image-Turbo真实反馈:指令遵循性远超预期 你有没有试过这样写提示词:“把咖啡杯放在木质窗台上,窗外是阴天的上海外滩,杯沿有轻微水汽,但不要出现人、文字或logo”——然后生成图里却赫然印着“Shanghai 2025”&…

作者头像 李华