thank you for your answer!i wrote a double-checked Singleton with ‘object’ and ‘companion object’ , and decompiler them to java, object use static block to init , companion object use inner class and static variable to init , one more question: whats difference between static block and static variable?