首页 > 解决方案 > 从像方法一样的类创建静态对象

问题描述

我对最近看到的脚本有点困惑。我想要一些关于它的解释。我google了一下,发现这个机制是从while开始使用的,但我无法理解。如果有任何错误,请不要降级我的问题。

我是一名安卓开发者,开始成为传奇。:D

public final class ClassName{

    public static ClassName initSDK(@NonNull @GuiContext Context context) {
        return new ClassName(context);
    }   

    private ClassName(Context guiContext) {
        startSDK(guiContext);
    }

}

什么是initSDK。它是如何调用的,机制是什么?

感谢您宝贵的时间!

标签: javaconstructor

解决方案


initSDK这是一个static method,您可以通过它的类名来调用它,例如:

ClassName instance1 = ClassName.initSDK(context);

在内部,它创建一个object instanceClassName返回它。例如,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(),表示get me an instance of the object通过包名访问。


推荐阅读