Android:为什么颜色类有一个公共构造函数?

Android:为什么颜色类有一个公共构造函数?,android,Android,为什么android Color类的所有成员都是静态的,却有一个公共构造函数?这仅仅是一个错误吗?可能一致性和潜在的未来用途是工程师编写构造函数的原因,即使它什么都不做。但是,工程师可能没有编写建造师。如果未给出构造函数,编译器将创建默认的公共构造函数 看看答案。它链接到 文档在某种程度上可能是自动生成的,它可能会通知您默认构造函数的存在,即使工程师没有创建它。对于Color.java文件,没有Google工程师明确为Color类编写公共构造函数 Color类的确实列出了一个公共构造函数,但Ja

为什么android Color类的所有成员都是静态的,却有一个公共构造函数?这仅仅是一个错误吗?

可能一致性和潜在的未来用途是工程师编写构造函数的原因,即使它什么都不做。但是,工程师可能没有编写建造师。如果未给出构造函数,编译器将创建默认的公共构造函数

看看答案。它链接到

文档在某种程度上可能是自动生成的,它可能会通知您默认构造函数的存在,即使工程师没有创建它。

对于Color.java文件,没有Google工程师明确为Color类编写公共构造函数

Color类的确实列出了一个公共构造函数,但Java有一个,这就是文档中列出的构造函数

这里真正可能的问题是或者

为什么GoogleAndroid文档在类文档的构造函数部分列出了隐式默认构造函数? 当我可以创建一个只有静态成员的类时,为什么Java有一个隐式的默认构造函数? 对于第一点,我不认为谷歌决定列出隐式默认构造函数是一个错误或糟糕的设计决策。他们可以在类中定义一个构造函数来限制对任何构造函数的访问,但这只需要额外的代码,并且为一个只有静态成员的类创建一个默认构造函数不会导致对该类的任何误用

对于第二点,可能需要对编译器进行优化,以防止在只有静态成员的类中出现任何隐式默认构造函数,但这是另一个线程的问题


tl;诺普博士,这不是一个错误。

你可能必须找到多年前编写颜色类的谷歌工程师,然后问他。@dragon66我仍然认为这不是一个需要解决的开发者个人问题,而是一个你可能喜欢或不喜欢的语言特性。其他语言的处理方式不同。如果你真的不喜欢它,你可以去做一个拉请求,Android是开源的。不,即使有一个私有构造函数,你仍然可以用反射来实例化它。单个开发人员解决此问题的唯一方法是实现私有构造函数,并在私有构造函数中抛出异常。这不是单个开发人员要解决的问题。正如我在第二点讨论的那样,可能会有一个编译器优化,但这仍然不是单个开发人员要解决的问题