问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java新建对象的问题

发布网友 发布时间:2022-04-29 00:49

我来回答

2个回答

热心网友 时间:2022-06-26 19:37

在有static、final、extends、implements修饰的类(包括属性和方法)的对象创建过程。因此约定下述引用声明和对象创建:
匿名对象:没有声明引用的对象,一般是Has-a关系中的类创建的,直接在方法中赋值。
Class A = new B(参数表);引用的声明都是在对象创建之前的(如果你不是创建的匿名对象的话)。
1、通常情况下(在没有上述任何修饰词的情况下,只包含属性和方法的一般类)对象创建过程如下:
给对象分配内存空间(准确的说是属性),并且将属性值置为默认值0或者null或者false
实例变量初始化,将定义类时直接赋给属性的字面值
调用类的构造方法,将构造方法中的参数传给属性(如果有参数的话)
2、多态的创建过程extend修饰:先声明父类引用在创建子类对象
给子类属性分配内存空间并将属性值置为默认值
递归构造父类对象:1)给父类属性分配内存空间(包括私有属性),并将属性置为默认值,如果父类还有父类,则此步完成后再次递归构造父类对象;2)父类实例变量初始化;3)调用父类的构造方法完成对象的初始化
子类实例变量初始化
调用子类的构造方法完成全部对象的初始化
3、初始化代码块
给对象分配内存空间
调用初始化代码块(在每一次创建对象时都会调用一次,其内部的变量属于局部变量)
实例变量初始化
调用构造方法完成对象的创建
调用本类初始化代码块在递归构造父类对象以后
4、静态初始化代码块和被static修饰的属性
在类加载时对象创建之前调用静态初始化代码块
静态修饰的部分从父类开始执行父类的静态初始化代码块->父类静态属性->子类静态初始化代码块->子类静态属性……静态方法在对象创建过程中不分配内存空间
创建对象
5、final修饰
final修饰的属性在实例变量初始化(1.2)时完成赋值,如果final修饰的属性赋值是在定义时给出而不是在构造方法中给出的。
6、包含属性为类的类
属性为其他类时,它和本类其他的属性没有任何差别,如果在调用有参构造时不使用匿名对象方式赋值的话,需先行用此属性类创建一个对象,并给出引用
匿名对象方式赋值:在创建对象时,先行创建属性的类的对象,其创建对象和其他对象的创建过程是一致的
7、构造方法带参数的创建过程
就是调用构造方法,不过带参数的构造方法一般都是给属性赋值,有时会在这里给final属性赋值。
8、implements修饰
implements是实现接口的关键字,也是多态的体现。接口的属性都是公开静态常量,因此他的属性都是在类加载的时候完成的初始化。接口没有构造方法。
总结:
因此整个创建对象的过程可以总结如此下:
所有接口属性的空间分配和赋值
递归调用静态初始化的成分,父类的静态初始化代码块,然后静态属性的空间分配和初始化
子类的静态初始化代码块,静态属性的空间分配和初始化
调用的构造方法中属性为类,需要创建匿名对象的,先行创建一个对象,然后再创建本类对象
利用本类对象的创建过程,给对象分配内存空间,并将属性值设为默认值
递归构造父类对象<就是重复5~9的过程>
调用本类的初始化代码块
实例变量初始化,final修饰的属性是直接赋值的话,在此步就会完成给属性的赋值,如果是在构造方法中给出则跳过初始化这一步
调用本类的构造方法,将构造方法的参数传给属性,完成对象的创建

热心网友 时间:2022-06-26 19:37

不一定是Java遇冷吧,可能java业务修改少呢
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
招商银行的美元天添金怎么样? 天添美蒸馒头为什么开裂呢 上海食堂送菜 邮政跨地区取款手续费多? 谁能告诉我邮政储蓄卡跨省取钱要不要收费啊? 自贡市龙盛世纪仿真模型制造有限公司公司简介 学PS真的很难吗 红烧萝卜牛筋 微信怎么转发公众号部分内容 转发公众号部分内容方法 微信公众号内的视频如何下载?一个F12搞定 亲们,vivo X21可以改变返回桌面时的动画吗 实例化:面向对象的编程时把用类创建对象的过程 车贷最后一天几点截止 餐饮生日祝福语 小尾寒羊的圈养、繁育与疾病防治技术的内容简介 餐厅生日祝福语 买车高额保险一年多少钱 餐厅熟客生日祝福语短信怎么发 你们vivo手机没有高精准定位模式你觉不觉得搞笑,我的手机是vivox21i? 谁给予本大大新番目录【是新番= =【是新番!!麻麻,新番~~ 零之使魔第四季好久什么时候出??内容大概是些什么?? 如何用进入企业微信群 有什么好看的动漫?有要求 如下 2012一整年的新番有什么? 谁有好看的日本魔幻爱情动漫 谁知道有什么好看的动画片啊! 如何用加入微信群? 守护甜心第四季什么时候播? 2012新番动漫 求2011年-2012年日韩动漫推荐!010 买车车贷还款日当天存可以吗 给客户的生日祝福语怎么写 比亚迪车贷几点扣款 sqlserver中创建一个表对象应该包括哪两个步骤? 餐厅(火锅): 顾客过生日(店里送一份小锅) 需一段简短些的广播祝福语 java中创建子类对象的过程 买个车保险保养一年下来一般多少钱 JAVA基础问题求解【创建对象的具体过程在内存中是怎么进行的?】 车贷当天最晚几点打进去,不会有影响 买车一年要多少保险费 创建对象在内存中的过程,第一步是把类的class文件加载到哪里 工商银行车贷当日晚上还有影响吗? 派生类对象的创建过程中基类部分是如何进行初始化 详细?? 我车贷是中国银行的,21号是还款日。最晚什么时候还 请教delphi中是怎样创建对象的 Java中New一个对象是个怎么样的过程 初中入团申请书400字(要自己写的) java创建对象的3个步骤是什么、继续解答 初中二年级学生入团申请书200字左右,急! 初中的入团申请书怎么写???