码迷,mamicode.com
首页 > 其他好文 > 详细

面向对象_对象建立时内存中的变化

时间:2015-04-05 20:16:27      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

建立一个对象在内存中会做什么事

  1.因为new用到了Person.class所以会先找到Person.class文件并加载到内存中
  2.执行该类中的static代码块,如果有的话,给Person.class类进行初始化
  3.在堆内存中开辟空间,分配内存地址
  4.在堆内存中建立对象的特有属性,并进行默认初始化
  5.对属性进行显示初始化
  6.对对象进行构造代码块初始化
  7.对对象进行对应的构造函数初始化
  8.将内存地址赋给内存中的p变量

对象初始化过程:
  先是默认初始化-------显示初始化------构造代码块-------构造函数

 1 public class PersonDemo6 {
 2     public static void main(String[] args) {
 3         Person p = new Person("zhangsan",21);
 4         p.setName("lishi");
 5 
 6     }
 7 }
 8 class Person{
 9     private int age;
10     private String name;
11     
12     {
13         System.out.println("我:name="+name+",,age="+age);
14     }
15     Person(String name,int age){
16         System.out.println("C:name="+name+",,age="+age);
17     }
18 
19 
20     public void setName(String name){
21         this.name = name;
22     }
23     public String getName(){
24         return name;
25     }
26 
27     public void speak(){
28         System.out.println("name="+name+",,age="+age);
29     }
30     public void cry(){
31         System.out.println("cry.......");
32     }
33 }

 

面向对象_对象建立时内存中的变化

标签:

原文地址:http://www.cnblogs.com/LO-ME/p/3552013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!