相关疑难解决方法(0)

什么时候进行静态类初始化?

何时初始化静态字段?如果我从不实例化一个类,但是我访问一个静态字段,是否所有静态块和私有静态方法用于实例化那个时刻调用的私有静态字段(按顺序)?

如果我调用静态方法怎么办?它是否也运行所有静态块?方法之前?

java static initialization

107
推荐指数
2
解决办法
7万
查看次数

为什么我不能在显式调用构造函数时引用实例方法?

有谁知道为什么你可以static使用this()super()但不是非静态方法引用构造函数的第一行中的方法?

考虑以下工作:

public class TestWorking{
    private A a = null;
    public TestWorking(A aParam){
       this.a = aParam;
    }

    public TestWorking(B bParam)
    {
        this(TestWorking.getAFromB(bParam));
    }

    //It works because its marked static.
    private static A getAFromB(B param){
        A a = new A();
        a.setName(param.getName());
        return a;
    }
}
Run Code Online (Sandbox Code Playgroud)

以下非工作示例:

public class TestNotWorking{
    private A a = null;
    public TestNotWorking(A aParam){
       this.a = aParam;
    }

    public TestNotWorking(B bParam)
    {
        this(this.getAFromB(bParam));
    }

    //This does not work. WHY???
    private A getAFromB(B …
Run Code Online (Sandbox Code Playgroud)

java constructor initialization

36
推荐指数
2
解决办法
2万
查看次数

标签 统计

initialization ×2

java ×2

constructor ×1

static ×1