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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 梵天的梦 中级黑马   /  2014-2-27 13:49  /  838 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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这个静态成员变量的生命周期在什么时候结束?

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

2 个回复

倒序浏览
在类被加载的时候,静态变量被创建再分配内存空间。show()这个方法结束的时候,变量country生命周期就结束了吧。

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
随着类的加载而加载,随着类的消失而消失,也就是说一个类的字节码在内存中,静态成员就存在,类的字节码不在内存中了,静态成员也就没有了

评分

参与人数 1技术分 +1 收起 理由
zzkang0206 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马