首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

如何static 还可以这样用呀? !

2012-01-24 
怎么static 还可以这样用呀? 请教各位!!!publicclassStatic{//这里是什么意思呀怎么static还可以这样用呀?

怎么static 还可以这样用呀? 请教各位!!!
public   class   Static   {
       
        //这里是什么意思呀   怎么static   还可以这样用呀?
      static   {
              int   i=5;
        }
       
      static   int   i,j;
      public   static   void   main(String[]   args){
          i--;
          method();
          System.out.println(i+   j   +   ++i);
      }
      public   static   void   method(){
      j   =   i++   +   ++i;
      }
}


  //这里是什么意思呀   怎么static   还可以这样用呀?
      static   {
              int   i=5;
        }
这样做有什么作用呀?

请教各位

[解决办法]
static 数据初始化

== public static i = 10
[解决办法]
静态初始化代码块
在类加载的时候执行

这里的作用就是在开始直接给i赋值为5,不然在初始化i,j的时候是给0值的
[解决办法]
public class StaticTest{
static {
int i=5;
System.out.println(i);
}
}
==============================
你可以试着执行一下上面的代码,能很好的说明static{}这个静态初始化代码块市在什么时候执行的,希望对你有帮助!
[解决办法]
static 可以修饰属性,方法,为什么就不能修饰块呢?
这儿就是修饰块.
[解决办法]
静态块
[解决办法]
静态初始化块,他在类加载时调用

与其区别的是初始化块,在类创建时调用,如
public class Static {

{
int i=5;
}

static int i,j;
public static void main(String[] args){
i--;
method();
System.out.println(i+ j + ++i);
}
public static void method(){
j = i++ + ++i;
}
}

[解决办法]
biggestfinger:
public class StaticTest{
static {
int i=5;
System.out.println(i);
}
}


你的代码我运行了,结果是5。但是后面还跟了一句话
Exception in thread "main " java.lang.NoSuchMethodError:main


[解决办法]
静态初始块
[解决办法]
当类被载入时,自动执行static静态代码块,且只被执行一次经常用于类属性的初始化

热点排行