मैं सिर्फ जावा में स्थानीय कक्षाओं की खोज: Advantages of Local Classes जो गुमनाम इनर क्लासों से अधिक स्थानीय कक्षाओं के कुछ महान लाभ सूचीबद्ध:जावा में स्थानीय क्लास का उपयोग कब करना चाहिए?
public final class LocalClassTest
{
public static void main(final String[] args) {
for(int i = 10; i > 0; i--) {
// Local class definition--declaring a new class local to the for-loop
class DecrementingCounter {
private int m_countFrom;
public DecrementingCounter(final int p_countFrom) {
m_countFrom = p_countFrom;
}
public void count() {
for (int c = m_countFrom; c > 0; c--) {
System.out.print(c + " ");
}
System.out.println();
}
}
// Use the local class
DecrementingCounter dc = new DecrementingCounter(i);
dc.count();
}
}
}
मैं इस टिप्पणी को भर में आया था।
मेरा सवाल यह है कि ऐसा लगता है कि ऐसे कई मामले होंगे जहां इस तकनीक के गैर-अज्ञात आंतरिक वर्गों पर लाभ होंगे। मेरा मतलब यह है कि: यदि आपकी कक्षा केवल विधि के दायरे में उपयोगी है तो आप स्थानीय वर्ग का उपयोग करेंगे। लेकिन जब आपके तरीके बिंदु पर आते हैं तो वे इतने जटिल होते हैं कि आपको उनके अंदर कस्टम कक्षाओं को परिभाषित करना शुरू करना पड़ता है, वे शायद पहले से ही बहुत जटिल हैं, और उन्हें विभाजित करने की आवश्यकता है। किस बिंदु पर, आपकी स्थानीय कक्षा को एक आंतरिक वर्ग बनना होगा, है ना?
स्थानीय वर्गों की आंतरिक कक्षाओं की तुलना में अधिक वांछनीय होने के कुछ उदाहरण क्या हैं, जिनमें सुपर-जटिल विधियां शामिल नहीं हैं (जिन्हें टाला जाना चाहिए)?
अहह्हह ... मेरी आंखें चोट लगीं। :) – limc
स्थानीय वर्ग लूप में घोषित ???? क्या तुम पागल हो? आपको ऐसा करने की कोई आवश्यकता नहीं है क्योंकि आपकी कक्षा स्थानीय चर के किसी भी लूप तक नहीं पहुंचती है। यह वर्ग बाहरी आसानी से –
@eugener भी हो सकता है: ठीक है, मुझे लगता है कि इसे लूप के बाहर घोषित किया जाना चाहिए, लेकिन यह एक समेकित उदाहरण है जो किसी भी तरह से बेतुका लगता है ... –