一、核心概念:什么是类?什么是对象?
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("李四"); // 输出:给李四打电话 } }总结
- 核心关系:类是对象的模板(抽象),对象是类的实例(具体),一个类可以创建多个对象;
- 语法核心:定义类(成员变量 + 成员方法)→ 创建对象(new 类名 ())→ 使用对象(对象名。属性 / 方法);
- 关键区别:成员变量(类中、有默认值、堆内存)和局部变量(方法中、无默认值、栈内存)的差异是新手必掌握的重点。