我不明白为什么构造函数与参数Double[] ? using System.Collections.Generic; using System.Linq; using System.Text; namespace MyConsoleApp { class Program { static void Main(string[] args) { D myD = new D(null); Console.ReadLine(); } } public class D { public D(object o) { Console.WriteLine("Object"); } public D(double[] array) { Console.WriteLine("Array"); } public D(int i) { Console.WriteLine("Int"); } } } 我认为,因为第一个构造函数采用引用types的参数。 带引用参数的第一个构造函数,因为null是引用types的默认值。 但我不明白为什么不object ,这也是一个参考types。
有几个类似的话题,但我找不到一个有足够的答案。 我想知道在Java中构造函数重载的最佳做法是什么。 我对这个问题已经有了自己的想法,但是我想听听更多的build议。 我指的是构造函数重载在一个简单的类和构造函数重载,而inheritance已经重载的类(意味着基类重载构造函数)。 谢谢 :)