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

关于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?????????????



------解决方案--------------------
System.out.println(a); 这里应该是错的,a这个变量应该是没有定义。应该改为:System.out.println(b.a);