Possible Duplicate:
Understanding which constructor is chosen and why




为什么编译器会像这样

public class  Calculator{

    private Calculator(Object o) {
        // code goes here
    }

    private Calculator(double[] calc) {
        // code goes here
    }

    public static void main(String[] args) {
        new Calculator(null);
    }
}


该程序执行第二个构造函数。为什么第一个构造函数不执行?

最佳答案

这两个构造函数都是可访问且适用的。

构造函数Calculator(Object)接受传递给Calculator(double [])的任何参数,因此Calculator(Object)的具体性较低。

关于java - Java重载构造函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8786792/

10-16 14:23