A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 满兴旺 中级黑马   /  2014-4-7 19:06  /  1136 人查看  /  13 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Person p=new Person();
1,        因为new用到了Person.class文件,所以会先找到Person.class文件并加载到内存中。
2,        执行静态代码块Static{}(前提是如果有的话)给Person.class进行初始化。
3,        在堆内存中开辟空间,分配内存地址。
4,        在堆内存中建立对象的特有属性并进行默认初始化
5,        对属性进行显示初始化(嘛意思?)
6,        对对象进行构造代码块初始化,
7,        对对象进行与之对应的构造函数初始化
8,        将内存地址赋值给栈内存中的P变量。

请问第5步对属性进行显示初始化是什么意思??

13 个回复

倒序浏览
就是成员变量的初始化

比如说 int num = 1;
回复 使用道具 举报
楼上说得对,
就是对成员属性进行显式初始化,
就是“写出来了,写得很明白”了,

int age;
这样……

不知道你明白不?
回复 使用道具 举报
执行顺序是静态代码块,一般代码块,构造代码块,所以第五步应该是在一般代码块中对成员变量进行赋值操作,int num=3;
回复 使用道具 举报
对属性进行显示初始化(嘛意思?)
即对你显示初始化了的属性进行初始化,显示初始化的意思为给属性赋了值,如
int i = 0;
String string = new String("John");
回复 使用道具 举报
首先,定义一个类来说明:
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属性.

我的理解就是这样,希望可以帮到你哟。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
简单点就是给你声明的变量 弄一个值! 比如int a  这样声明了  !a =  1  给他一个1的值 也可以在声明的同时赋值初始化  int a = 1
回复 使用道具 举报
Person p=new Person();
问题:5. 对属性进行显示初始化(嘛意思?)
解析:对p对象中的成员变量进行赋值。



回复 使用道具 举报

//未对类的构造方法复写,建立对象时,会自动给成员变量初始化,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;
                        }
}

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
对对象进行显示初始化就是你为类里的非静态成员变量赋值,
回复 使用道具 举报
第五步我的理解就是由抽象到具体的过程,给对象进行初始化
回复 使用道具 举报
谢谢各位的细心指导,鉴于的的分也少的可怜,所以。。。。。不过很感谢啊。。
回复 使用道具 举报
其实输出语句也是一个方法,括号里你填得东西,就相当于实际参数一样,接受到实际参数的输出方法,才会将你输入的东西打印出来。这个过程中会有一个数据传递的过程,我想应该是这个意思吧。
回复 使用道具 举报
成员的初始化根据初始化的顺序分三个方面:
1:类中成员变量在类定义的时候进行初始化,就是所谓显式初始化;
2:构造代码块儿中定义的成员初始化代码;
3:构造函数中定义成员初始化;
显式初始化就是在类定义的时候给成员变量初始化,就是显式初始化
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马