黑马程序员技术交流社区

标题: 静态成员的生命周期问题 [打印本页]

作者: 梵天的梦    时间: 2014-2-27 13:49
标题: 静态成员的生命周期问题
class Person{
        private String name;
        private int age;
        static String country = "CN";
        Person(int age){
                this.age = age;
               
        }
        Person(String name,int age){
                this(age);
                this.name = name;
                //this.age = age;
               
        }
        public boolean compareAge(Person p){
                return this.age == p.age;
        }
        public void show(){
                System.out.println(name+":"+country);
        }
}
public class PersonDemo{
        public static void main(String[] args){
                Person p1 = new Person(23);
                Person p2 = new Person(34);
                System.out.println(p1.compareAge(p2));
                p1.show();

        }
}
在这段程序中country这个静态成员变量的生命周期在什么时候结束?


作者: CCCCC    时间: 2014-2-27 13:55
在类被加载的时候,静态变量被创建再分配内存空间。show()这个方法结束的时候,变量country生命周期就结束了吧。
作者: 我要的幸福呢    时间: 2014-2-27 16:59
随着类的加载而加载,随着类的消失而消失,也就是说一个类的字节码在内存中,静态成员就存在,类的字节码不在内存中了,静态成员也就没有了




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