类是抽象模板,对象是具体实例;类如蓝图不占内存,定义属性和方法,对象在内存中独立存在并拥有自身状态,实例化通过new依据类创建对象。

类是抽象的模板,对象是具体的实例;实例化就是用 new 把类变成对象的过程——这是理解二者关系最直接的切入点。
类:不占内存的蓝图
类本身不是实物,它只描述一类事物该有什么属性(比如姓名、价格)、能做什么行为(比如登录、计算)。它像建筑设计图,定义结构但不参与运行。类中声明的变量没有实际值,方法也没有绑定具体数据,整个类在编译后只是代码结构,不占用堆内存。
- 类可以被多次使用,但自身状态不会改变
- 类中定义的方法是共享的代码段,所有对象调用的是同一份逻辑
- 没有类,就无法合法创建对应类型的对象
对象:内存中独立存在的个体
每个对象都是类在运行时生成的一个实体,系统会为它分配独立的内存空间,保存属于它的那一套属性值。哪怕两个对象类型相同、属性值也一样,它们在内存中的地址也不同,彼此互不影响。
- 对象有自己完整的状态(属性值)和可执行的行为(方法调用)
- 修改一个对象的 name,不会影响另一个同类型对象的 name
- 对象通过引用变量操作,比如 Person p = new Person() 中的 p 就是指向该对象的引用
实例化:从定义到运行的关键动作
实例化不是复制类,而是依据类的结构动态创建新对象。这个过程包括三步:申请内存空间、按类定义初始化字段(执行构造函数逻辑)、返回对象引用。它把静态的类定义转化成可操作的运行实体。
立即学习“Java免费学习笔记(深入)”;
- 必须显式调用,最常见的是 new 类名(参数)
- 每次 new 都产生一个全新对象,哪怕参数完全一样
- 构造函数负责初始化,比如设置默认值或校验输入
类与对象的关系一句话说清
类是菜谱,对象是做好的菜;类是设计图,对象是盖好的楼;类是“人”这个概念,对象是张三、李四这些具体的人。一份菜谱能做无数道菜,一张图纸能建无数栋楼,一个类也能生成无数个对象——抽象决定可能性,实例体现现实性。


















