193得票23回答
C++中的静态构造函数?我需要初始化私有的静态对象。

我想在一个类中拥有一个私有静态数据成员(包含所有小写字母a-z的向量)。在Java或C#中,我可以创建一个“静态构造函数”,它会在创建类的任何实例之前运行,并设置类的静态数据成员。它只会运行一次(因为变量是只读的,且只需要设置一次),而且由于它是类的函数,所以可以访问其私有成员。我可以在构造函...

140得票4回答
初始化器不可访问,因为它的保护级别是“内部”的。

我有一个协议 登录策略public protocol LoginStrategy { func login(_ viewController: UIViewController) func getUserInfo(withCompletionHandler completion...

129得票5回答
为什么C# 3.0的对象初始化器构造函数括号是可选的?

看起来C# 3.0的对象初始化语法允许当存在一个无参构造函数时,在构造函数中排除开放/关闭括号。例如:var x = new XTypeName { PropA = value, PropB = value }; 相对于:var x = new XTypeName() { PropA = va...

114得票9回答
PHP中的静态类初始化器

我有一个帮助类,其中包含一些静态函数。该类中的所有函数都需要运行一个“重型”初始化函数一次(就像它是构造函数一样)。 有没有好的实践方法可以实现这一点? 我所想到的唯一方法就是调用一个init函数,并在其已经运行一次时中断流程(使用静态的$initialized变量)。问题是我需要在类的每...

113得票10回答
Java中初始化程序和构造函数的使用

最近我一直在复习Java技能,发现了一些之前不知道的功能,其中包括静态初始化器和实例初始化器。 我的问题是,在什么情况下应该使用初始化器而不是将代码包含在构造函数中?我想到了几个明显的可能性: 静态/实例初始化器可用于设置 "final" 静态/实例变量的值,而构造函数不能 静态初始化器...

103得票8回答
调用没有名称的Java方法

我在看下面的代码,发现有些奇怪:public class Sequence { Sequence() { System.out.print("c "); } { System.out.print("y "); } pu...

100得票2回答
Kotlin中的静态初始化块

静态初始化块在 Kotlin 中的等价物是什么? 我知道 Kotlin 的设计是不使用静态东西,但我正在寻找具有等效语义的内容——当类第一次加载时会运行代码。 我的具体用例是我想启用 Android AppCompat 库中的 DayNight 特性,说明中说要将一些代码放在 Applic...

78得票2回答
Objective-C:init与initialize的区别

在Objective-C中,init方法(即类的指定初始化器)和initialize方法有什么区别?哪些初始化代码应该放在每个方法中?

76得票14回答
C++:数组的构造函数初始化器

我脑子有点抽...如何在C++中正确地初始化对象数组? 非数组示例:struct Foo { Foo(int x) { /* ... */ } }; struct Bar { Foo foo; Bar() : foo(4) {} }; 数组示例:struct Fo...

73得票3回答
在Objective-C中是否有静态构造函数的等价物?

我刚接触Objective C,想知道这个语言中是否有静态构造函数的等价物,即类中的静态方法会在该类的第一个实例化之前自动调用。还是说我需要自己调用初始化代码? 谢谢。