没有私有构造函数,我们可以从一个类到另一个类访问静态成员吗​​?

时间:2018-03-16 16:35:17

标签: c#

使用私有构造函数:  它无法创建实例,  它不能继承,  它只包含静态数据成员

没有私有构造函数我也可以在分配值时使用静态声明和静态数据成员访问类,如下例所示

class Test
{        
    public static int x = 12;
    public static int method()
    {
        return 13;
    }
}
class Program
{
    int resut1 = Test.x;
    int resut2 = Test.method();
    static void Main(string[] args)
    {
    }
}

所以我怀疑如下  为什么要去私人建设者  私有构造函数块的用途是什么  我们不能在私有构造函数块中做任何事情  执行时请说清楚

提前致谢

2 个答案:

答案 0 :(得分:-1)

私有构造函数用于在没有实例字段或方法(如Math类)时或在调用方法以获取类的实例时阻止创建类的实例。如果类中的所有方法都是静态的,请考虑使完整的类保持静态。有关更多信息,请参阅静态类和静态类成员。

关注此https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/private-constructors

答案 1 :(得分:-2)

私有构造函数阻止使用通用默认构造函数。

通用默认构造函数允许实例​​化类;而私人建设者。

根据这个microsoft doc,它们通常用于防止人们实例化只有静态成员/函数的类。