- 1、本文档共2页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2012–4–22java静态变量实例变量
// Java静态变量初始化顺序
public class a
{
public static Test1 t = new Test1();
public static int b=1;
public static int c;
public static void main(String[] arg)
{
System.out.println(a.b);
System.out.println(a.c);
}
}
class Test1
{
public Test1()
{
a.b++;
a.c++;
}
}
Java静态变量初始化遵循以下规则:
静态变量会按照声明的顺序先依次声明并设置为该类型的默认值,但不赋值为初始化的值.
声明完毕后,再按声明的顺序依次设置为初始化的值,如果没有初始化的值就跳过.
原来Test.a的值变化了三次 Java 中静态变量与实例变量的区别
public class a{
static int t;//
int q;//实例变量
public static void main(String args[]){
System.out.println(t); //打印类变量
int t=1; //局部变量
System.out.println(t); //打印局部变量
a b= new a(); //创建实例
System.out.println(b.q); //通过实例访问实例变量
}
}
java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或者静态变量另一种没有static修饰,为实例变量类的静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享。静态变量可以直接通过类名进行访问,其生命周期取决于类的生命周期。而实例变量取决于类的实例。每创建一个实例,java虚拟机就会为实例变量分配一次内存,实例变量位于堆区中,其生命周期取决于实例的生命周期。
文档评论(0)