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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 fmi110 于 2015-6-30 11:24 编辑

new创建对象的操作
  1. class Person
  2. {
  3.         private String name;
  4.         private int age;
  5.         private static String country = "CN";
  6.         
  7.                 /**构造函数*/
  8.         Person(String name,int age)
  9.         {
  10.                 this.name = name;
  11.                 this.age = age;
  12.         }

  13.         public void setName(String name)
  14.         {
  15.                 this.name = name;
  16.         }

  17.         public void speak()
  18.         {
  19.                 System.out.println("name:"+name+"...."+"age:"+age);
  20.         }

  21.         public static void showCountry()
  22.         {
  23.                 System.out.println("country = "+country);
  24.         }
  25. }

  26. class PersonDemo
  27. {
  28.         public static void main(String[] args)
  29.         {
  30.                 Person p1 = new Person("lili",20);
  31.         }
  32. }

  33. /**
  34. Person p1 = new Person("lili",20);

  35. 该语句执行了那些事情?
  36. 1、因为new用到了Person.class,所以会先找到Person.class文件并加载到内存
  37. 2、执行该类中的static代码块(存于方法区),如果有的化,给Person.class类进行初始化
  38. 3、在堆内存中开辟空间,分配内存地址
  39. 4、在堆内存中建立对象的特有属性,并进行默认初始化
  40. 5、对属性进行显示初始化
  41. 6、对对象进行构造代码块初始化
  42. 7、对对象进行对应的构造函数初始化("lili",20)
  43. 8、将内存地址赋给栈内存中的P变量

  44. */
复制代码



2 个回复

倒序浏览
自己顶一下 留着以后复习
回复 使用道具 举报
好东西~
谢谢分享
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马