我对最近看到的脚本有点困惑。我想要一些关于它的解释。我用谷歌搜索了一下,发现这个机制已经被使用了一段时间,但我无法理解它。如果我的问题有任何问题,请不要降级。
我是一名 Android 开发者,并开始成为传奇。 :D
public final class ClassName{
public static ClassName initSDK(@NonNull @GuiContext Context context) {
return new ClassName(context);
}
private ClassName(Context guiContext) {
startSDK(guiContext);
}
}
什么是initSDK
。它是如何调用的,机制是什么?
感谢您抽出宝贵的时间!
最佳答案
initSDK
这里是一个静态方法
,您可以通过它的类名来调用它,例如:
ClassName instance1 = ClassName.initSDK(context);
在内部,它创建一个ClassName
的对象实例
并返回它。例如,这里的instance1
是ClassName
的一个实例。
请注意,类构造函数 private ClassName(Context guiContext) { .. }
被声明为 private
,这意味着您无法通过以下方法实例化该对象:
// Wrong, can't instantiate object this way. Constructor is declared "private"
ClassName instance2 = new ClassName(context);
与initSDK
类似,有时这种类似的方法被命名为getInstance()
,表示获取对象的实例
,通过包名称。
关于java - 从类中创建静态对象,其行为类似于方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50794384/