新手不知道静态初始化器有什么用途
这是一个简单的静态初始化器
class A {
static int i;
static {i = 100;}
}
但我可以直接在定义静态变量的时候赋初值 何必再用到静态初始化器呢 就像这样
class A {
static int i = 100;
}
请指教 只好用个小例子说明一下
java的静态初始化器问题
答案:2 悬赏:80
解决时间 2021-11-25 17:11
- 提问者网友:野性
- 2021-11-24 20:29
最佳答案
- 二级知识专家网友:我的任性你不懂
- 2021-11-24 20:55
class StaticObj{
static private int i;
public static int getI() {
return i;
}
public static void setI(int i) {
StaticObj.i = i;
}
}
public class TestStatic {
public static void main(String[] args) {
StaticObj obj1 = new StaticObj();
obj1.setI(13);
StaticObj obj2 = new StaticObj();
System.out.println(obj2.getI());
}
}
你运行看看
简单说,就是在构造函数中赋的值,就永远不变了,在程序外赋的值是可以改变的
static private int i;
public static int getI() {
return i;
}
public static void setI(int i) {
StaticObj.i = i;
}
}
public class TestStatic {
public static void main(String[] args) {
StaticObj obj1 = new StaticObj();
obj1.setI(13);
StaticObj obj2 = new StaticObj();
System.out.println(obj2.getI());
}
}
你运行看看
简单说,就是在构造函数中赋的值,就永远不变了,在程序外赋的值是可以改变的
全部回答
- 1楼网友:都不是誰的誰
- 2021-11-24 21:18
public class staticinitialization {
public static void main(string[] args) {
system.out.println("creating new cupboard() in main");
new cupboard();
system.out.println("creating new cupboard() in main");
new cupboard();
t2.f2(1);
t3.f3(1);
}
static table t2 = new table();//1:标记位1
static cupboard t3 = new cupboard();//2 标记位2
} // /:~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯