我想问一下
new分配内存和创建对象 同时调用构造器 构造器初始化对象 那么这个初始化指的是把类中的值赋值给变量 还是设置所有变量为默认值 还是设置默认值的操作是由new完成的 ?
假如已经定义含参构造器,new输入实际参数,这时的实际参数传到构造器的形参是在哪一步完成的 在内存中怎么完成的 ?形参开始在对象中吗? 形参在对象中以什么方式存在?
new分配内存和创建对象 同时调用构造器 构造器初始化对象 那么这个初始化指的是把类中的值赋值给变量 还是设置所有变量为默认值 还是设置默认值的操作是由new完成的 ?
假如已经定义含参构造器,new输入实际参数,这时的实际参数传到构造器的形参是在哪一步完成的 在内存中怎么完成的 ?形参开始在对象中吗? 形参在对象中以什么方式存在?
大神你的回复怎么么了
动态中的优先级:
1.从父类到子类,加载所有方法
2.从父类开始,执行属性默认初始化(置null)
3.按照出现的顺序执行动态块和属性初始化
4.执行构造方法
5.进入子类,循环2-4。
new是给对象分配内存;
构造器是对类中的属性进行初始化;
初始化就是将类中的属性进行默认赋值;例如类中有属性:int m_nValue;那么构造函数会默认给m_nValue初始化为0;
而带有参数的构造函数,就和普通含参函数一样,在调用这个构造函数时进行值传递;
形参在对象中是不存在的。含参的构造函数在new的时候会将实际参数赋值给对象中的属性