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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

以下是我自己看毕老师视频说的对象的初始化过程,本人感觉挺有用的,对于了解内存空间的分配情况帮助挺大
特总结了以下:
class Person
{
        private String name;
        private String country;
        public Person(String name,String country)
        {this.name=name;this.country=country;}
        public void shouCountry()
        {System.out.println(country);}
}
class PersonDemo
{
        public static void main(String[] args)
        {
                Person p=new Person("张三","中国");
        }       
}
在这个例子中对象的初始化过程:
1、因为new了个person对象,所以会先找到person.class文件并加载到内存中
2、执行该类的静态代码块,因为没有,所以不会执行!-----静态代码块是给类进行初始化的
3、在堆内存开辟空间,分配内存地址
4,在堆内存中建立对象的特有属性,并默认初始化  就是这里的name和country
5,对属性进行显示初始化,因为我们的类中并没有 所以不执行
6,执行构造代码块----我们也没有定义,所以也不用的
7,对对象进行相应的构造函数初始化,就是执我们所定义的构造函数
8,将内存地址付给栈内存中的变量p;


以上就是简单的对象的初始化过程,和大家分享一下,希望对大家能有所帮助!!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马