यह इस तरह से काम नहीं करना चाहिए - import Inner._
का उपयोग एक सतत व्यवहार है।
आम तौर पर, यदि आप जावा में स्थिर सदस्यों के समान व्यवहार प्राप्त करना चाहते हैं तो साथी वस्तु की आवश्यकता होती है।
object Outer {
object Inner {
def print(inner: Inner) = inner.B // compiles!
}
class Inner {
private val B = "B"
}
}
आप वर्ग के लिए एक कारखाने के रूप में साथी वस्तु का उपयोग कर सकते हैं: स्काला तरह से सभी स्थैतिक सदस्यों लाभ यह है कि एक साथी वर्ग के निजी/संरक्षित सदस्य ही यह से पहुँचा जा सकता के साथ, एक सिंगलटन वस्तु को दूर ले जाने के लिए है एक निजी निर्माता के साथ:
scala> object Outer {
|
| object Inner {
| def newInstance = new Inner()
| }
| class Inner private() {
| private val B = "B"
| }
| }
defined module Outer
scala> Outer.Inner.newInstance
res1: Outer.Inner = [email protected]
scala> new Outer.Inner
<console>:7: error: constructor Inner cannot be accessed in object $iw
new Outer.Inner
^
स्रोत
2010-11-25 10:58:18
का उपयोग करके इसे प्रदूषित कर सकते हैं मैं यहां * फिर * (चीज़ भूल जाने के बाद) आया था, यह दर्शाता है कि यह समस्या नवागंतुकों के लिए कितनी महत्वपूर्ण हो सकती है। मुझे लगता है कि 'बाहरी' सवाल में कोई भूमिका नहीं निभाता है; यह इसके बिना भी वही है। यह पूछने के लिए धन्यवाद! – akauppi