黑马程序员技术交流社区

标题: 请教下面代码,不懂啊!!! [打印本页]

作者: tangchao5206    时间: 2015-9-23 15:04
标题: 请教下面代码,不懂啊!!!
运行结果,有点不懂呀,请教各位大神!!!
class Person {
        //年龄
        public static int age = 0;
       
        //出生
        Person(){}
       
        //克隆人
        Person(int age){
                this.age = age;
        }
       
        //过了一年
        public void grow(){
                age++;
        }
}

public class staticDemo {
       
        Person p = new Person(10);
       
        static Person p1,p2;
       
        static{
                System.out.println("p1.age =" + p1.age + ",p2.age =" + p2.age);
                p1 = new Person(20);
                System.out.println("p1.age =" + p1.age + ",p2.age =" + p2.age);
                p2 = new Person(30);
                System.out.println("p1.age =" + p1.age + ",p2.age =" + p2.age);
        }
       
        public static void main(String[] args) {
               
                staticDemo sd = new staticDemo();
               
                System.out.println("p.age =" + sd.p.age);
                System.out.println("p1.age =" +p1.age + ",p2.age =" + p2.age);
                p1.grow();
                System.out.println("p1.age =" +p1.age + ",p2.age =" + p2.age);
                System.out.println(sd.p.age);
        }
}

作者: heshiwei    时间: 2015-9-23 16:06
具体哪里不明白呢,我按照你的代码运行结果是正确的。 就是搞清楚静态代码段(训练器)、静态方法和构造方法的执行顺序和内存原理就行了。
哪里不明白呢?




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2