类是设计图纸,对象是按图施工的成品;类用class定义属性和方法,对象用new创建并拥有独立属性值但共享方法逻辑。

类和对象不是语法难点,而是思维方式的切换。关键不在于背定义,而在于建立“图纸—实物”的直觉。
类就是设计图纸
它不占实际空间,只规定一类东西该有什么、能做什么。比如“手机类”里写着:有屏幕尺寸、电池容量两个属性;有开机、拨号两个方法。但它本身不是任何一部手机——就像建筑图纸不是房子本身。
写法上,类用 class 类名 { } 定义,里面放两类东西:
- 成员变量(属性):描述“有什么”,比如 String brand;、int battery;
- 成员方法(行为):描述“能做什么”,比如 void powerOn() { ... }
对象是按图施工的成品
每部真实手机都是根据同一张图纸造出来的,但各自独立:你的手机是黑色、电量80%,我的是白色、电量20%。程序里,对象就是用 new 类名() 创建出来的具体实例。
例如:Phone p1 = new Phone(); 这行代码做了三件事:
- 在堆内存中开辟一块空间,存放这个手机的数据(品牌、电量等)
- 调用构造方法,给这些数据设初始值
- 在栈内存中创建一个引用变量 p1,指向堆里的那块空间
它们的关系本质是“模板与实例”
同一个类可以 new 出无数个对象,每个对象都有自己的属性值,但共享同一套方法逻辑。就像所有 iPhone 都能刷微信,但你聊天记录不会出现在别人手机上。
初学时容易混淆的点:
- 类名首字母大写(如 Student),对象名小写(如 stu1)
- 属性有默认值(int 是 0,String 是 null),不用手动赋初值也能用
- 方法必须通过对象调用,不能像静态方法那样直接用类名点
从生活场景直接对应到代码
想不清楚时,就问自己三个问题:
- 这个事物“叫什么”?→ 类名(如 Car)
- 它“长什么样”?→ 成员变量(如 String color;、int speed;)
- 它“能干啥”?→ 成员方法(如 void accelerate() { speed++; })
写完类,立刻 new 一个对象试一试,调用它的方法、打印它的属性——动手跑起来,比反复读定义更管用。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











