FeedReaderContract演示中的空构造函数

时间:2013-12-04 10:22:19

标签: java android

参考Android开发者页面上的FeedReaderContract课程:

代码以:

开头
public final class FeedReaderContract {
    // To prevent someone from accidentally instantiating the contract class,
    // give it an empty constructor.
    public FeedReaderContract() {}

即。该类有一个默认的public构造函数。

  • 该代码评论是否正确?
  • public空构造函数如何阻止实例化 - 如果这可能是private

......我还在半睡半醒吗? ...


PS我不关心示例的其余部分,或者如何使用它。我纯粹是想确认我不会同时发疯和愚蠢......

2 个答案:

答案 0 :(得分:4)

自我答案,因为这可能有助于初学者?

代码评论错误。空构造函数工作正常。

为防止实例化,构造函数需要为private,而不是空。

答案 1 :(得分:1)

我已经尝试过以下两个类,评论确实是错误的。只有私有构造函数才会阻止实例化。

public class Main {

    public static void main(String[] args) {
        Test test = new Test();
        System.out.println(Test.STRING);
        System.out.println(test.toString());
    }
}

public final class Test {
    public static final String STRING = "test";

    // empty constructor:
     private Test() {
    }
}