Java中对象与类的区别

2025年4月11日 | 阅读 4 分钟

Object

对象是类的实例。它是内存中拥有实际值的、可以调用类中定义的方法的真实世界实体。

对象的特征

  • 类的实例:对象是类的具体实现。
  • 物理实体:它在运行时占用堆内存。
  • 状态和行为:
    • 状态存储在字段(变量)中。
    • 行为通过方法体现。
  • 对象创建:对象通常使用 new 关键字创建。

Class

Java中的类是定义对象结构和行为(数据和方法)的蓝图或模板。它充当逻辑实体,将相似类型的数据和函数分组。Java类包含字段、方法、代码块、构造函数等。

类的特性

  • 蓝图:类是创建对象的蓝图或原型。
  • 逻辑实体:在创建对象之前不占用内存。
  • 使用 class 关键字定义:Java中的每个类都使用 class 关键字声明。
  • 抽象:它抽象了实现细节,只显示结构。
  • 封装:它可以将数据(字段)和代码(方法)组合成一个单元。

欲了解更多,请阅读 Java 类和对象

对象与类之间的区别

对象和类之间存在许多区别。以下是对象和类之间区别的列表

ObjectClass
对象是类的实例类是创建对象的蓝图或模板
对象是真实世界的实体,例如笔、笔记本电脑、手机、床、键盘、鼠标、椅子等。类是相似对象的集合
对象是物理实体。类是逻辑实体。
对象主要通过new 关键字创建,例如:
Student s1=new Student();
类使用class 关键字声明。例如:
class Student{}
对象根据需要可以创建多次。只声明一次
对象在创建时分配内存类在创建时不会分配内存
在 Java 中创建对象的方式有很多,例如 new 关键字、newInstance() 方法、clone() 方法、工厂方法和反序列化在 Java 中定义类的方式只有一种,即使用 class 关键字
对象代表具有特定状态和行为的单个实例。类定义了其对象将具有的状态(字段)和行为(方法)。
每个对象都拥有其自身的实例变量副本。类包含变量的定义,但在实例化之前不保存值。
对象可以访问类的实例成员和静态成员。类可以拥有在所有对象之间共享的静态成员。
对象存储在堆内存中。类定义(元数据)存储在 JVM 的方法区域中。
对象在运行时创建。JVM 在类加载阶段加载类。
对象可以被序列化(转换为字节流)。类本身不能被序列化,但它必须实现 Serializable 接口才能允许其对象被序列化。
对象可以通过方法调用相互交互。类定义了用于对象交互的方法,但它本身不执行操作。
一旦对象不再被引用,其生命周期就由垃圾回收器管理。类的生命周期由 JVM 管理,当应用程序结束或类加载器被垃圾回收时,类就会被卸载。

让我们看一些 Java 中类和对象的真实世界示例,以更好地理解区别

类:人类 对象:男人、女人

类:水果 对象:苹果、香蕉、芒果、番石榴等。

类:手机 对象: iPhone、三星、Moto

类:车辆 对象:汽车、摩托车、卡车、巴士

类:形状 对象:圆形、矩形、三角形、正方形

类:计算机 对象:笔记本电脑、台式机、平板电脑、服务器

Java 中对象和类的示例

示例

编译并运行

输出

832345 Ankit 1000.0
Balance is: 1000.0
40000.0 deposited
Balance is: 41000.0
15000.0 withdrawn
Balance is: 26000.0