java static 问题

[复制链接]
查看11 | 回复4 | 2011-10-15 02:31:42 | 显示全部楼层 |阅读模式
classStaticA{StaticA(){System.out.println(\"StaticAinstructor!\");}}publicclassjob3{staticinta;staticStringstr=\"abc\";publicjob3(){System.out.println(str);}{System.out.println(\"blockinitialized\");}staticStaticAsal=newStaticA();static{System.out.println(\"staticblockinitialized\");System.out.println(str);str=\"def\";}staticStaticAsa=newStaticA();publicstaticvoidmain(String[]args){newjob3();newjob3();}}请各位大虾帮帮忙忙结果是什么?过程解释下!!!!
回复

使用道具 举报

千问 | 2011-10-15 02:31:42 | 显示全部楼层
我先给语句遍个号。表示从1开始classStaticA{StaticA(){System.out.println(\"StaticAinstructor!\");}}publicclassjob3{staticinta;staticStringstr=\"abc\";publicjob3(){System.out.println(str);}{System.out.println(\"blockinitialized\");}staticStaticAsal=newStaticA();//1.访问了StaticA的构造函数输出StaticAinstructor!static{System.out.println(\"staticblockinitialized\");//2.输出staticblockinitializedSystem.out.println(str);//3.输出abcstr=\"def\";//这时候str为abcdef}staticStaticAsa=newStaticA();//4.再次访问StaticA的构造函数输出StaticAinstructor!publicstaticvoidmain(String[]args){newjob3();//5.执行{System.out.println(\"blockinitialized\");},构造函数输出//abcdefnewjob3();//6.如上}}输出结果:StaticAinstructor!//1staticblockinitialized//2abc//3StaticAinstructor!//4blockinitialized//5abcdef//5blockinitialized//6abcdef//6解释:在一个类中被static修饰的变量或方法称为静态变量或静态方法,它们不属于这个类的成员。编译器装载这个类的时候就优先执行static,并为它开辟一个内存空间,比如staticinta;,这个内存空间所在的地址无法被更改,但变量a的值可以被更改。其他的类在创建对象时也可以访问这个静态变量a,无论他们访问多少次,都是访问的同一内存空间,因此它类似于一个全局变量。所以编译器首先执行1,这时候创建了StaticA的对象,执行构造函数System.out.println(\"StaticAinstructor!\");然后是2,3,4.然后执行主方法main:newjob3();创建了job3的对象,这里{System.out.println(\"blockinitialized\");}这条语句你就把它看成相当于属于类job3的一个静态方法,无论它放哪,在创建job3的对象时都会被优先执行;所以先输出blockinitialized,再输出job3构造函数里的str。希望对你有帮助。
回复

使用道具 举报

千问 | 2011-10-15 02:31:42 | 显示全部楼层
13,这个程序是计算输入的数字中包含多少1131313结果是13静态变量static全局变量global静态变量在java也叫类变量从
回复

使用道具 举报

千问 | 2011-10-15 02:31:42 | 显示全部楼层
我也不知道是什么是不是编的程序啊自己运算就是了
回复

使用道具 举报

千问 | 2011-10-15 02:31:42 | 显示全部楼层
二楼英明
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行