साथी वस्तुओं के लिए आवश्यक हैं:
- घोषित जो अन्यथा स्थिर होगा साथी की क्लास से संबंधित तरीकों
- घोषित (जावा में विपरीत, आप एक स्थिर विधि स्काला में वर्ग के भीतर ही घोषित नहीं कर सकते हैं)
unapply
और unapplySeq
तरीकों कस्टम एक्सट्रैक्टर्स परिभाषित करने के लिए पैटर्न मिलान के लिए (here देखें)
- घोषित
apply
विधि है जो आम तौर पर एक कारखाने विधि है कि विशेष वर्ग की वस्तुओं बनाता है (लेकिन होना जरूरी नहीं है) के रूप में प्रयोग किया जाता है
- साथी वस्तुओं निजी क्षेत्रों और उनके सहयोगी विशेषता/वर्ग के तरीकों का उपयोग कर सकते हैं - जब एक खास प्रकार के एक अंतर्निहित मूल्य की तलाश में - कि खास विशेषता/वर्ग
- वे implicit resolution के लिए महत्वपूर्ण हैं पर स्थिर आपरेशन बनाने के लिए उपयोगी , उस प्रकार के साथी ऑब्जेक्ट को यह देखने का निरीक्षण किया जाता है कि क्या संबंधित
implicit
परिभाषा मौजूद है; this blog post
में Scala specification में निहित संकल्प या एक संक्षिप्त सारांश की सटीक नियम देखने स्काला मानक पुस्तकालय में Boolean
वस्तु तरीकों box
और unbox
आदिम बूलियन्स और उनके लिपटे, वस्तु अभ्यावेदन के बीच परिवर्तित करने के लिए इस्तेमाल किया जा सकता है। यह अतिरिक्त रूप से (वर्तमान में) @specialized
एनोटेशन के लिए तर्क के रूप में उपयोग किया जाता है, इस बात को इंगित करने के लिए कि किस आदिम प्रकार को कक्षा को विशेषीकृत करने की आवश्यकता है।
[नीचे उत्तर] (http://stackoverflow.com/a/9806136/39396) डुप्लिकेट के स्वीकृत उत्तर से बेहतर है। –