我想知道我对构造函数的理解是否正确。我只是试图尝试对构造函数进行测验,但对我的理解是否正确感到困惑
- >每个类至少需要一个定义的构造函数 - False(在C#中,如果不提供构造函数,编译器会自动提供默认构造函数。)
- >只需在其上只有一个私有构造函数就可以避免实例化一个类。 - False(私有构造函数是一个特殊的实例构造函数。它通常只在包含静态成员的类中使用。如果一个类有一个或多个私有构造函数而没有公共构造函数,则其他类(嵌套类除外)不能创建此实例类。)
- >非对象类中的静态构造函数在每个对象创建时调用一次。 - False(如果静态构造函数被调用一次,编译器将不再调用它,它将仅被调用一次。静态构造函数的执行由应用程序域中发生的以下第一个事件触发:1。创建类类型的实例.2。引用类类型的任何静态成员。)
- >您可以在构造函数上指定该类继承的接口类 (我不知道请澄清)
答案 0 :(得分:0)
- >每个类至少需要一个定义的构造函数 - False(在C#中,如果你不提供一个,>>编译器会自动提供一个默认的构造函数。) - 您的理解是正确的
- >只需在其上只有一个私有构造函数就可以避免实例化一个类。 - 假(私有构造函数是一个 特殊实例构造函数。它通常用在类中 仅包含静态成员。如果一个班级有一个或多个私人 构造函数和没有公共构造函数,其他类(嵌套除外) classes)无法创建此类的实例。) - 你可以拥有一个私有构造函数,在这种情况下,其他类不能创建它的实例(但你为什么要这样做?) - 人们这样做是为了在对象的实例化中加入一些控件,就像他们在某些设计中常做的那样图案。简而言之,您仍然可以通过其他方式(例如,从静态方法)创建具有私有构造函数的类的实例。
- >非对象类中的静态构造函数在每个对象创建时调用一次。 - False(如果已经调用了静态构造函数 一旦编译器不再调用它,它只会被调用一次 。静态构造函数的执行由第一个触发 应用程序域中发生以下事件:1 创建类类型的实例。 2.任何静态成员 类类型被引用。) - 您的理解是正确的
- >您可以在构造函数上指定该类继承的接口类(我不知道请澄清) - 错误,您在类声明本身中指定该类将不在构造函数中继承的接口或类