2015-07-21 79 views

回答

1

你已经错过了article的最重要的部分:

私有构造函数是一种特殊的构造函数。 通常用于只包含静态成员的类中的是 。如果一个类 有一个或多个私有构造函数和没有公共构造,其他 类(除了嵌套类)不能创建此类

的情况下,他们在如何使用的文章会谈显示了常用的用例静态成员只能通过上述类,像这样:

class NLog 
{ 
    // Private Constructor: 
    private NLog() { } 

    public static double Foo = 3.284; 
} 

类没有默认构造函数privatethey have a public one (except for abstract classes)

如果该类是抽象的,则 默认构造函数的声明可访问性为受保护。否则,默认构造函数的可访问性为public。因此,默认的 构造函数始终为表格形式

+0

我不明白为什么这个类不会被标记为静态的,如果它的所有成员都是静态的......但的确是在答案:) – Kritner

+0

@Kritner它肯定可以被标记为'静态',尽管它没有'必须是。 –

1

您只是误读了该页面。对于没有定义构造函数的类:

class C {} 

存在一个默认的,公共的构造,C()

如果你明确声明了一个构造函数,那么这个默认构造函数将不存在。如果你宣布你的构造函数,如:

class C 
{ 
    C() 
} 

那么这将是私人的,因为除非使用明确的publicinternalprotected访问修饰符所有集体成员都是私有的。

相关问题