日期:2014-05-20  浏览次数:20662 次

关于static问题,谢谢!!
public   class   Untitled1   {
  int   a
        public   Untitled1(int   a1)   {
                a=a1;
        }

        public   static   void   main(String[]   args)   {
              final   Untitled1   b   =   new   Untitled1(25);
              b.a=30;
              System.out.println(a);//在a下面报错            
        }
}

于是:改


public   class   Untitled1   {
  int   a//***********在int前加static
        public   Untitled1(int   a1)   {
                a=a1;
        }

        public   static   void   main(String[]   args)   {
              final   Untitled1   b   =   new   Untitled1(25);
              b.a=30;
              System.out.println(a);          
        }
}//成功

为什么加static?????????????


------解决方案--------------------
public class Untitled1 {
int a;
public Untitled1(int a1) {
a=a1;
}

public static void main(String[] args) {
final Untitled1 b = new Untitled1(25);
b.a=30;
System.out.println(a.b);
}
}
这样你的代码就不用加STATIC

-----------------------
如果不加static修饰的成员是对象成员,也就是归每个对象所有的。

加static修饰的成员是类成员,就是可以由一个类直接调用,为所有对象共有的