读书人

基本变量 赋值的有关问题请指点一下

发布时间: 2011-12-10 00:07:34 作者: rapoo

基本变量 赋值的问题,请指点一下

Java code
public class C02 {    private static int x =getvalue();    private static int y=5;    public static int getvalue(){return y;}        public static void main(String[] args)     {      System.out.println(x);    }}


x 打印出来0 为什么?? 请讲解一下。

[解决办法]
1.x=getvalue();
2.跳到getvalue:此时,y = 0;
3.x = y = 0;
4.y = 5;
5.打印。
[解决办法]
探讨
朋友,这个问题是这样的,x被申明为static型,这说明他将在该类第一次被调用时在该类的静态存储单元中被初始化,而且在整个程序执行过程中只有一份!那么当进入程序的时候在运行所有程序之前,程序一定会先初始化,这时成员变量被赋予“0”初值。int型的就被赋予0。然后在运行中程序发现内存中已经有了x静态变量,所以不会创建新的x。所以总是0,如果不将其定义为static,像下面这样,这个问题就解决了!

       pr…

读书人网 >J2SE开发

热点推荐