建立一个对象在内存中会做什么事
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 }
时间: 2024-10-10 00:34:16