चर को स्वचालित रूप से बंद / निपटाने के बारे में बात करने के बजाय, एक चर के दायरे को सीमित करने के बारे में सवाल का जवाब देने के लिए।
जावा में आप घुंघराले कोष्ठक का उपयोग करके बंद, गुमनाम स्कोप को परिभाषित कर सकते हैं। यह बेहद सरल है।
{
AwesomeClass hooray = new AwesomeClass()
// Great code
}
चर hooray
केवल इस दायरे में उपलब्ध है, और इसके बाहर नहीं।
यह उपयोगी हो सकता है यदि आपके पास दोहराए गए चर हैं जो केवल अस्थायी हैं।
उदाहरण के लिए, प्रत्येक सूचकांक के साथ। जैसे item
लूप के लिए वैरिएबल को बंद किया जाता है (यानी, केवल इसके अंदर उपलब्ध है), index
वैरिएबल को स्कोप गुमनाम दायरे में बंद किया जाता है।
// first loop
{
Integer index = -1;
for (Object item : things) {index += 1;
// ... item, index
}
}
// second loop
{
Integer index = -1;
for (Object item : stuff) {index += 1;
// ... item, index
}
}
मैं भी इसका उपयोग कभी-कभी करता हूं यदि आपके पास वैरिएबल स्कोप प्रदान करने के लिए लूप नहीं है, लेकिन आप जेनेरिक वैरिएबल नामों का उपयोग करना चाहते हैं।
{
User user = new User();
user.setId(0);
user.setName("Andy Green");
user.setEmail("andygreen@gmail.com");
users.add(user);
}
{
User user = new User();
user.setId(1);
user.setName("Rachel Blue");
user.setEmail("rachelblue@gmail.com");
users.add(user);
}
using
है। स्कोप आजीवन नहीं है (औरusing
जीवनकाल के बारे में भी नहीं है, सख्ती से बोलना, जैसाDispose
कि किसी वस्तु की स्मृति को नष्ट नहीं करता है।)