Java编程:对象分配内存与实体详解

需积分: 2 25 下载量 7 浏览量 更新于2024-08-11 收藏 2.45MB PDF 举报
"分配实体后的对象-C语言程序设计与游戏开发" 在C++编程中,当我们使用`new`运算符创建一个对象时,如`XiyoujiRenwu zhubajie = new XiyoujiRenwu();`,系统会执行两个主要操作。首先,它为对象的各个成员变量分配内存。对于不同类型的变量,它们的默认初始值是不同的:整型变量默认为0,浮点型为0.0,布尔型为false,而引用型则为null。这意味着如果没有明确初始化,这些变量会按照这些默认值进行设置。 接着,`new`运算符会返回一个对这些内存单元的引用,这个引用就是对象变量`zhubajie`。简单来说,它就像内存中的一个“地址牌”,标记着成员变量内存位置的起始地址。这个引用使得`zhubajie`能够管理和操作这些内存单元,即它的成员变量。我们称这些内存为对象的实体,它们是`zhubajie`的一部分,用于存储其状态。 内存模型在对象分配内存后会发生变化。原本只有对象声明的模型(图4.1)会被图4.2所示的模型替代,其中包含了对象实体和它的成员变量。这个过程可以视为对象声明和内存分配的合二为一。 有趣的是,可以将这种内存分配的概念比作现实世界中的对象,例如,`zhubajie`这个角色有了自己的属性如`height`、`weight`等,它可以改变这些属性的状态,就像角色在故事中发展一样。 此外,同一个类可以通过`new`运算符创建多个不同的对象,每个对象都会在内存中占据不同的空间,因此它们之间互不影响。改变其中一个对象的状态不会波及到其他对象,这体现了面向对象编程中的封装和独立性。 在Java语言中,类是对象的蓝图,通过类声明我们可以定义对象的结构和行为。类包含成员变量(相当于C++中的数据成员)和方法(相当于C++中的成员函数)。创建对象时,我们使用`new`关键字,这不仅为成员变量分配内存,还会调用构造方法来初始化对象。类还可以通过继承来实现代码复用,通过访问修饰符(public, private, protected等)控制成员的可见性,以及通过接口实现多态性。 对象是程序中的核心概念,它们存储数据并执行操作,而类则是组织和描述这些对象的方式。理解对象的内存分配、状态管理和类的结构对于深入学习Java或其他面向对象编程语言至关重要。