黑马程序员技术交流社区
标题:
对象初始化过程
[打印本页]
作者:
满兴旺
时间:
2014-4-7 19:06
标题:
对象初始化过程
Person p=new Person();
1, 因为new用到了Person.class文件,所以会先找到Person.class文件并加载到内存中。
2, 执行静态代码块Static{}(前提是如果有的话)给Person.class进行初始化。
3, 在堆内存中开辟空间,分配内存地址。
4, 在堆内存中建立对象的特有属性并进行默认初始化
5, 对属性进行显示初始化(嘛意思?)
6, 对对象进行构造代码块初始化,
7, 对对象进行与之对应的构造函数初始化
8, 将内存地址赋值给栈内存中的P变量。
请问第5步对属性进行显示初始化是什么意思??
作者:
osully
时间:
2014-4-7 19:16
就是成员变量的初始化
比如说 int num = 1;
作者:
linweiwen
时间:
2014-4-7 19:30
楼上说得对,
就是对成员属性进行显式初始化,
就是“写出来了,写得很明白”了,
int age;
这样……
不知道你明白不?
作者:
为你而去
时间:
2014-4-7 20:27
执行顺序是静态代码块,一般代码块,构造代码块,所以第五步应该是在一般代码块中对成员变量进行赋值操作,int num=3;
作者:
adamjy
时间:
2014-4-7 20:27
对属性进行显示初始化(嘛意思?)
即对你显示初始化了的属性进行初始化,显示初始化的意思为给属性赋了值,如
int i = 0;
String string = new String("John");
作者:
zhangbingyuan
时间:
2014-4-7 22:18
首先,定义一个类来说明:
class Person
{
int age = 0;
Person( int age)
{
this.age = age;
}
}
如果new一个Person对象:Person p = new Person( 30 );
4,在堆内存中建立对象的特有属性并进行默认初始化----->将p对象的age属性默认初始化为0
5,对属性进行显示初始化(嘛意思?)----> 将通过构造函数传进来的age值(30)赋给p对象的age属性.
我的理解就是这样,希望可以帮到你哟。
作者:
黑马-幻灭
时间:
2014-4-7 22:46
简单点就是给你声明的变量 弄一个值! 比如int a 这样声明了 !a = 1 给他一个1的值 也可以在声明的同时赋值初始化 int a = 1
作者:
锋少
时间:
2014-4-7 22:51
Person p=new Person();
问题:5. 对属性进行显示初始化(嘛意思?)
解析:对p对象中的成员变量进行赋值。
作者:
jingdou56
时间:
2014-4-8 00:08
//未对类的构造方法复写,建立对象时,会自动给成员变量初始化,name未空,int为0,这种叫隐式初始化
class Person
{
private String name;
private int age;
//Person(){} 默认的构造方法,不写会自动不上,隐式
}
//如果你对构造方法复写,建立对象时,就会按照你的要求出示化,这就是显示初始化
class Person
{
private String name;
private int age;
Person(String name,int age) //自己复写构造方法,这叫显示,按照你的要求初始化name和age的值
{
this.name = name;
this.age = age;
}
}
作者:
杨殿生
时间:
2014-4-8 17:32
对对象进行显示初始化就是你为类里的非静态成员变量赋值,
作者:
为梦想而活着
时间:
2014-4-8 19:56
第五步我的理解就是由抽象到具体的过程,给对象进行初始化
作者:
满兴旺
时间:
2014-4-8 21:36
谢谢各位的细心指导,鉴于的的分也少的可怜,所以。。。。。不过很感谢啊。。
作者:
帽子
时间:
2014-4-8 22:34
其实输出语句也是一个方法,括号里你填得东西,就相当于实际参数一样,接受到实际参数的输出方法,才会将你输入的东西打印出来。这个过程中会有一个数据传递的过程,我想应该是这个意思吧。
作者:
四川男人
时间:
2014-4-9 00:13
成员的初始化根据初始化的顺序分三个方面:
1:类中成员变量在类定义的时候进行初始化,就是所谓显式初始化;
2:构造代码块儿中定义的成员初始化代码;
3:构造函数中定义成员初始化;
显式初始化就是在类定义的时候给成员变量初始化,就是显式初始化
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2