类是对象的模板或说明书,如手机设计图纸;对象是类的具体实例,如手里的iphone,具有独立属性值(如电量82%)和行为能力。

直接从一个能“看见”的例子开始最有效。类和对象不是抽象概念,而是你每天都在用的逻辑——比如手机。
手机是个类,你手里的那台是对象
类就像手机的设计图纸:它规定了所有手机都该有屏幕、电池、摄像头、打电话功能、发微信功能。这些统称为“属性”和“方法”。但图纸本身不能打电话——它只是描述。
你手里正在用的 iPhone 或华为,才是真正的对象:它有具体的屏幕尺寸(6.7 英寸)、电量(82%)、微信已登录、相册里存着 2317 张照片。这些具体值,只属于这个实例。
代码上体现为:
-
定义类:用
class Phone { String brand; int battery; void call() { ... } } -
创建对象:用
Phone myPhone = new Phone(); -
赋具体值:
myPhone.brand = "Huawei"; myPhone.battery = 82;
别把类当成“东西”,它是“一类东西的说明书”
很多人卡在第一步,是因为误以为 class Dog 就是一条狗。其实它更像《养狗指南》第一页:写明“狗有名字、年龄、会叫、会跑”,但没指定是谁家的狗、几岁、叫得有多响。
只有执行 Dog dog1 = new Dog();,JVM 才真在内存里造出一条狗——分配空间、初始化默认值(比如 name 是 null,age 是 0),这时它才可被使用。
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
你可以同时造三条狗:dog1、dog2、dog3,它们共享同一份说明书(类),但各自有独立的状态(比如 dog1 叫“旺财”,dog2 叫“来福”)。
动手试一个最小可运行例子
不用 IDE,用记事本写这四行,保存为 Cat.java,然后命令行编译运行:
class Cat { String name = "咪咪"; void meow() { System.out.println(name + " 喵~"); } }public class Main { public static void main(String[] args) { Cat c = new Cat(); c.meow(); } }
运行结果就是:咪咪 喵~。这里 Cat 是类,c 是对象,new Cat() 是把它从纸面变活的过程。
关键区别一眼看穿
记住两个锚点:
- 类不占数据内存:只在方法区存结构信息;对象才在堆里占真实空间
-
类不能直接调方法:你不能写
Cat.meow()(除非是 static 方法);必须通过对象,如c.meow()
理解到这里,你就已经站在面向对象的门口了——后面封装、继承、多态,都是在这个基础上加锁、开门、换房间而已。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










