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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

运行结果,有点不懂呀,请教各位大神!!!
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);
        }
}

1 个回复

倒序浏览
具体哪里不明白呢,我按照你的代码运行结果是正确的。 就是搞清楚静态代码段(训练器)、静态方法和构造方法的执行顺序和内存原理就行了。
哪里不明白呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马