अगर मैं एक पैकेज वस्तुपैकेज ऑब्जेक्ट्स कब शुरू होते हैं?
package com.something.else
package object more {
val time = System.currentTimeMillis
// ... other stuff ...
}
जो तब स्रोत कोड में कहीं आयात किया जाता है परिभाषित करते हैं।
import com.something.else.more
इस ऑब्जेक्ट (और इसके सदस्यों) ने आरंभ/निर्माण कब किया है?
दूसरे शब्दों में, more.time
का मूल्य निर्धारित करता है?
क्या यह मूल्यांकन किया जाता है जब कार्यक्रम पहली बार शुरू होता है? या पहली बार इसे एक्सेस किया गया है? या पहली बार more
उपयोग किया गया है?
package something
package object more {
val time = System.currentTimeMillis
}
// in separate file:
package something.more
object Test extends App {
val now = System.currentTimeMillis
Thread.sleep(1000)
println(now)
println(time)
}
देता है::
मेरा अनुमान तब होगा जब क्लास लोडर पहले लोड करता है, लेकिन मैं अभी यह जांच नहीं सकता ... –