お世話になっております。

さて、Kotlinを最近始めました。Kotlinではsingletonは言語レベルでサポートされていて、objectを使うとあります。しかし、objectではコンストラクタが使えません。

Javaの場合

class HBaseManager {
    private static HBaseManager ourInstance = new HBaseManager();
    private Configuration config =  HBaseConfiguration.create();
    private ArrayList<String> tableList = new ArrayList<>();

    static HBaseManager getInstance() {
        return ourInstance;
    }

    private HBaseManager() {
        config.set("hbase.zookeeper.quorum","example.com:60000");
        listTables();
    }
}

のように書くと(この場合はHBaseの)初期化を済ませて、安全にアクセスできます。

あれこれKotlinのガイドを探してみましたが、singletonの初期化に関するものを見つけることができませんでした。

とりあえず、initialize()というメソッドを定義して、singletonを使う前にかならず呼ぶというルールにして当面は乗り切ろうと思いますが、何かしらの仕組みがあるはずだと思い、質問させていただきます。

よろしくお願いします。