本帖最后由 fmi110 于 2015-6-30 11:24 编辑
new创建对象的操作- class Person
- {
- private String name;
- private int age;
- private static String country = "CN";
-
- /**构造函数*/
- Person(String name,int age)
- {
- this.name = name;
- this.age = age;
- }
- public void setName(String name)
- {
- this.name = name;
- }
- public void speak()
- {
- System.out.println("name:"+name+"...."+"age:"+age);
- }
- public static void showCountry()
- {
- System.out.println("country = "+country);
- }
- }
- class PersonDemo
- {
- public static void main(String[] args)
- {
- Person p1 = new Person("lili",20);
- }
- }
- /**
- Person p1 = new Person("lili",20);
- 该语句执行了那些事情?
- 1、因为new用到了Person.class,所以会先找到Person.class文件并加载到内存
- 2、执行该类中的static代码块(存于方法区),如果有的化,给Person.class类进行初始化
- 3、在堆内存中开辟空间,分配内存地址
- 4、在堆内存中建立对象的特有属性,并进行默认初始化
- 5、对属性进行显示初始化
- 6、对对象进行构造代码块初始化
- 7、对对象进行对应的构造函数初始化("lili",20)
- 8、将内存地址赋给栈内存中的P变量
- */
复制代码
|
|