class E implements Runnable {
static Thread t1;
public static void main(String args[]) {
// some code
}
static {t1 = new Thread();}
}
静态初始化块在首次加载类时执行。这个静态init块如何知道t1是一个已经声明的实例变量?
答案 0 :(得分:0)
答案是否,你不能在静态上下文中处理实例变量,
奖励:)
我不确定你为什么需要那个,
因为main()
是一种输入方法,所以你不应该在那里实现你的逻辑,
相反,创建E
的实例并在E
中调用一个方法来执行您的逻辑,不要将所有变量声明为static
只是为了能够使用它们来自main()
。
示例:
public class E implements Runnable {
private Thread t1;
public E(){
t1 = new Thread();
}
public void doMyWork(){
t1....
}
public static void main(String args[]) {
E e = new E();
e.doMyWork();
}
}