java对象创建的过程总结

在这里有必要总结一下对象的创建过程。请考虑一个名为Dog的类:

(1) 类型为Dog的一个对象首次创建时,或者Dog类的static方法/static字段首次访问时,Java解释器必须找到Dog.class(在事先设好的类路径里搜索)。

(2) 找到Dog.class后(它会创建一个Class对象,这将在后面学到),它的所有static初始化模块都会运行。因此,static初始化仅发生一次——在Class对象首次载入的时候。

(3) 创建一个newDog()时,Dog对象的构建进程首先会在内存堆(Heap)里为一个Dog对象分配足够多的存储空间。

(4) 这种存储空间会清为零,将Dog中的所有基本类型设为它们的默认值(零用于数字,以及booleanchar的等价设定)。

(5) 进行字段定义时发生的所有初始化都会执行。

(6) 执行构建器。正如第6章将要讲到的那样,这实际可能要求进行相当多的操作,特别是在涉及继承的时候。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
### 回答1: 1. 根据类加载器,将类的静态代码块和成员变量加载到JVM中。 2. 在内存的堆区中为对象分配一块空间。 3. 根据类的构造方法,初始化对象的成员变量。 4. 在堆区中的对象创建一个指向方法区中方法的指针,指向类的方法。 5. 返回对象的引用。 ### 回答2: 在Java中,使用关键字"new"来创建一个对象创建对象过程主要包括以下几个步骤: 1. 在内存中分配空间:使用关键字"new"来申请一块内存空间,用来存储对象的成员变量和方法。 2. 分配对象的引用:为这个对象分配一个引用变量,该引用变量用来指向申请到的内存空间。例如:Person person = new Person(); 3. 调用构造方法:通过new关键字后面的构造方法来初始化对象的成员变量。构造方法是一个特殊的方法,它的名称与类名相同,并没有返回类型。在使用new关键字创建对象时,会自动调用该构造方法。 4. 执行初始化代码块:如果对象中定义了初始化代码块,在对象创建过程中,这些初始化代码块会被执行。 5. 返回对象的引用:创建对象后,new表达式会返回对象的引用,我们可以通过引用来访问对象的成员变量和方法。 需要注意的是,使用new关键字创建对象时,会在堆内存中创建对象,而引用变量则是存储在栈内存中。当没有任何引用指向这个对象时,它会变成垃圾,由Java的垃圾回收机制自动回收。 总结来说,使用new关键字创建对象过程包括:内存分配、引用分配、构造方法调用、初始化代码块执行和返回对象引用等步骤。这样我们就可以通过引用来操作和访问对象的成员变量和方法。 ### 回答3: 在Java中,使用关键字"new"来创建一个对象创建对象过程可以分为三个步骤: 1. 分配内存空间:当执行"new"关键字时,首先会在堆内存中分配一块存储对象的内存空间。这个内存空间的大小由对象的成员变量决定。 2. 初始化成员变量:在内存空间分配完毕后,会调用对象的构造方法来初始化对象的成员变量。构造方法是一个与类名相同的方法,通过构造方法可以对对象进行初始化操作。 3. 返回对象的引用:初始化成员变量后,会返回一个指向该对象的引用。这个引用可以用来访问对象的成员变量和方法。 下面是一个示例代码,演示了在Java中使用"new"关键字创建对象过程: ``` public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } public static void main(String[] args) { // 创建一个Student对象 Student student = new Student("张三", 18); // 使用对象引用访问成员变量和方法 System.out.println("姓名:" + student.getName()); System.out.println("年龄:" + student.getAge()); } } ``` 在示例代码中,创建Student对象过程是: 1. 分配内存空间,创建一个存储Student对象的内存空间。 2. 调用Student的构造方法,将传入的参数赋值给对象的成员变量。 3. 返回一个指向该对象的引用,赋值给变量"student"。 4. 最后,我们可以使用"student"引用来访问Student对象的成员变量和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值