`

7、创建对象过程

阅读更多

一、创建一个Person对象

 

    Person p = new Person("张三",25);

 

二、创建一个Person对象都做了些什么事情?

 

  1. 因为new用到了Person.class,所以会先找到硬盘上的Person.class文件并加载到内存中
  2. 执行该类中的static代码块,如果有的话,给Person.class类进行初始化
  3. 在堆内存中开辟空间,分配内存地址
  4. 在堆内存中建立对象的特有属性。并进行默认初始化
  5. 对属性进行显示初始化
  6. 对对象进行构造代码块初始化
  7. 对对象进行对应的构造函数初始化
  8. 将内存地址赋给栈内存中的p变量(p变量就引用了该实体)
分享到:
评论

相关推荐

    java对象创建过程

    一旦类被正确地加载和初始化后,就可以通过以下步骤来创建对象实例: 1. **分配内存**:JVM会在堆内存中为新创建的对象分配内存空间。分配内存时,会考虑对象所需的大小,包括实例变量的空间以及对齐填充等。如果...

    COM对象创建过程总结

    6. **返回接口指针**:COM运行时库将新创建对象的接口指针返回给客户端。 **进程外创建COM对象** 当COM对象位于进程外的EXE(可执行文件)时,创建过程稍有不同: 1. **客户调用CoCreateInstance**:客户端的调用...

    解决大漠对象创建失败

    5. **代码逻辑错误**:程序员在编写代码时可能犯了错误,比如在不应该发生的地方创建对象,或者使用了错误的对象模型。 针对大漠插件的“对象创建失败”问题,我们可能需要采取以下步骤进行排查和解决: 1. **检查...

    java四种创建对象的方式

    在反序列化过程中,Java会自动调用对象的无参构造方法来创建对象。为了使一个类可以被反序列化,该类需要实现Serializable接口。示例代码如下: ```java ObjectInputStream ois = new ObjectInputStream(new ...

    Activex部件不能创建对象[收集].pdf

    "ActiveX部件不能创建对象解决方案" 今天,我遇到了一个棘手的问题:ActiveX部件不能创建对象!经过一番分析和解决,我终于找到了解决方案。在这里,我将分享我的经验和知识,希望能够帮助到其他人。 问题现象 ...

    金蝶K3_ActiveX部件不能创建对象的终极解决方案

    ### 金蝶K3_ActiveX部件不能创建对象的终极解决方案 在企业级软件系统中,金蝶K3是一款广泛使用的财务管理与企业资源规划(ERP)解决方案,它为企业的财务、供应链、生产、销售等核心业务流程提供全面支持。然而,...

    创建string对象过程的内存分配:

    ### 创建string对象过程的内存分配详解 #### 一、引言 在Java中,`String` 类是最常用的数据类型之一,用于表示不可变的字符序列。`String` 对象的创建涉及复杂的内存分配机制,特别是在Java虚拟机 (JVM) 的环境中...

    javascript如何创建对象

    通过定义一个函数,把创建对象的过程封装起来,这个函数可以返回一个新的对象。例如,创建一个createPerson函数来创建Person对象,然后通过这个函数来创建多个person对象。 ```javascript function createPerson...

    运行时错误'429':ActiveX部件不能创建对象 解决办法 通用

    在计算机编程与软件开发过程中,经常会遇到各种各样的错误提示,其中“运行时错误'429':ActiveX部件不能创建对象”是一个相对常见的问题。这种错误通常发生在试图加载或使用一个ActiveX控件时,而该控件由于某些原因...

    SqlSession 创建过程.pdf

    在深入了解MyBatis框架中SqlSession对象的创建过程之前,首先要明确SqlSession在MyBatis中的作用。SqlSession是MyBatis中的核心接口之一,它代表与数据库交互的一次会话,用于执行已经映射的SQL语句。创建SqlSession...

    java实例化对象的过程

    工厂方法是一种设计模式,它提供了一种创建对象的抽象,允许子类改变实例化过程。单例模式确保一个类只有一个实例,并提供全局访问点。 总的来说,Java实例化对象是编程中的基本操作,它涉及到类的构造,内存分配,...

    sap权限对象的创建和使用

    本文将深入探讨如何创建和使用权限对象,并通过ABAP编程举例来展示其实现过程。 首先,创建一个权限对象需要在SAP的后台系统中进行。在交易代码SEAC(Authorization Objects Maintenance)中,你可以新建一个对象,...

    ATL 揭秘之“对象创建”篇

    虽然我们在代码中没有显式使用`new`关键字来创建对象,但实际上ATL会在内部调用`new`来分配内存。对象工厂通过调用`CComObject<T>::CreateInstance`来创建对象,这实际上会触发C++的`new`操作符。 **4.3 初始化** ...

    java内存对象分配过程研究

    1. **内存分配**:当使用`new`关键字创建对象时,JVM会在堆上为新对象分配一块内存空间,并返回一个指向这块内存空间的引用。例如: ``` new Color(100, 100, 120); ``` 这里`new`运算符负责为对象分配内存空间...

    在javascript中创建对象的各种模式解析

    在JavaScript中创建对象的各种模式对于掌握这门语言的面向对象编程特性至关重要。JavaScript作为一门具有面向对象特性的脚本语言,虽然没有传统意义上类的概念,但它通过其他方式实现了对象的创建和继承。在...

    API创建对象.rar

    API创建对象是编程中的一个重要概念,特别是在面向对象编程(OOP)中。易语言是一种中国本土开发的编程语言,它也支持使用API来创建和操作对象。下面将详细解释API、对象创建以及在易语言中如何实现这一过程。 API...

    js中new一个对象的过程

    使用new操作符和构造函数是JavaScript中创建对象和实现继承的一种机制,这个机制非常重要,理解它对于深入学习和应用JavaScript是必不可少的。此外,也需要注意,尽管new操作符在JavaScript中非常强大,但在ES6以后...

    浅析Java语言中对象的创建过程.pdf

    Java对象的创建过程分为两个步骤:首先是声明对象引用,然后是通过new关键字创建对象实体。对象引用只保存在栈内存中,指向堆内存中对象的内存地址。而对象实体则存储在堆内存中,包含成员变量和方法信息。 以Test...

    浅析Java语言中对象的创建过程.zip

    在实际开发中,我们还可以使用工厂方法、静态工厂方法、构造器链、单例模式等不同的方式来创建对象。每种方式都有其特定的适用场景和优缺点,开发者应根据需求选择合适的创建策略。 此外,对于性能敏感的应用,了解...

Global site tag (gtag.js) - Google Analytics