此私有方法在此Singleton Java类中做什么?

克拉默65

我有一个单例课程,它的功能非常好。我现在想知道最后一种方法是做什么用的?

public class PicassoSingleton {
    private static Picasso instance;

    public static Picasso with(Context context) {
        if (instance == null) {
            instance = new Picasso.Builder(context.getApplicationContext()).debugging(true).downloader(new ImageDownloader(context)).build();
        }
        return instance;
    }

    private PicassoSingleton() {
        throw new AssertionError("No instances.");
    }
}

有谁知道它的作用或用途是什么?

René链接

通常,使构造函数private阻止其他类实例化a就足够PicassoSingleton

在私有构造函数中抛出异常似乎是偏执的编程,因为类的实现者知道它的内部细节,并且必须知道他的工作。

但这是有道理的。在构造函数中抛出异常还将阻止其他人使用反射实例化该类的对象。

这是不可能的

Constructor<PicassoSingleton> constructor = PicassoSingleton.class.getDeclaredConstructor();
constructor.setAccessible(true);
constructor.newInstance();  // will throw the AssertionError - impossible to instantiate it

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C ++中的Normal或Singleton类内GoogleTest私有方法/枚举类

来自分类Dev

为什么从另一个类执行此私有方法?

来自分类Dev

我可以模拟私有方法还是测试此POST方法的正确方法是什么?

来自分类Dev

cls()函数在类方法中做什么?

来自分类Dev

在目标c中做什么方法类

来自分类Dev

Java继承中的私有方法

来自分类Dev

Java继承中的私有方法

来自分类Dev

OOP:私有方法与新类

来自分类Dev

Javascript私有方法和私有类变量

来自分类Dev

Java私有方法包装

来自分类Dev

私有方法与C ++中的Lambda

来自分类Dev

在JMockit中验证私有方法

来自分类Dev

Doctest Python中的私有方法

来自分类Dev

Ruby中的私有方法调用

来自分类Dev

“重载” PHP中的私有方法

来自分类Dev

在Groovy中测试私有方法

来自分类Dev

具有许多私有方法的Java测试类

来自分类Dev

在Swift中访问父类的私有方法

来自分类Dev

最新Chrome中的类私有方法

来自分类Dev

在(非)静态类中重写私有方法

来自分类Dev

在Swift中访问父类的私有方法

来自分类Dev

在导入的类中调用私有方法

来自分类Dev

rspec在需要存根的私有方法中测试私有方法

来自分类Dev

为什么我可以在单元测试类中访问私有方法

来自分类Dev

使用Powermockito在Java中测试私有方法

来自分类Dev

为类方法调用私有方法:python

来自分类Dev

如何在es6类中声明私有变量和私有方法

来自分类Dev

为什么允许静态方法调用私有方法?

来自分类Dev

为什么嘲笑私有方法进入方法?