对象调用成员的过程

来源:互联网 发布:sudoers ubuntu 编辑:程序博客网 时间:2024/06/08 00:07
 

class Person

{

private String name;

private int age;

private static String country = "cn";

     {

     this.name = name;

     this.age = age;

     }

     {

     System.out.println(name+".."+age);

     }

     public void setName(String name)

     {

         this.name = name;

     }

     public void speak()

     {

         System.out.println(this.name+"..."+this.age);

     }

     public static void showCountry()

     {

         System.out.println("country="+Person.country);

         Person.method();

     }

     public static void method()

     {

         System.out.println("method run");

     }

 

}

class PersonDemo

{

     public static void main(String[] args)

     {

     Person p = new Person("zhangsan",20);

     p.setName = ("lisi");

     }

 

}

图解如下:

/*

Person p = new Person("zhangsan",20);

 

给句话都做了什么事情?

1,因为new用了Person。class 所以会先找到Person文件并加载到内存中,

2,执行给类中的static代码块,如果的话,给Person。class类进行初始化。

3,在堆内存中开辟空间,分配内训地址

4,在堆内存中建立对象的特有属性,并进行默认的初始化

5,对对象进行初始化

6,对对象惊醒构造代码块初始化

7,对对象进行对应的构造函数的初始化

8,将内存地址付给占内存中的变量

*/

原创粉丝点击