读书人

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

发布时间: 2012-01-24 23:11:55 作者: rapoo

怎么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静态代码块,且只被执行一次经常用于类属性的初始化

读书人网 >J2SE开发

热点推荐