क्यों Threadवर्ग को एक नियमित वर्ग के रूप में लागू किया गया था न कि अमूर्त वर्ग के साथ run()विधि को अमूर्त किया गया था।
क्या यह संभवतः किसी समस्या का परिचय देगा? या इस तरह से होने में इसका कोई उपयोग है?
इसके अलावा, Thread.start()विधि को एक बहुत विशिष्ट विधि माना जाता है जिसकी कार्यक्षमता किसी अन्य वर्ग द्वारा लागू नहीं की जा सकती है (यदि मैं गलत नहीं हूं)। और इसलिए मुझे लगता है कि यह finalकीवर्ड किसी अन्य विधि से अधिक के लिए उपयुक्त होगा।
लेकिन मैं इस विधि को ओवरराइड करने और इसका उपयोग करने में सक्षम हूं जैसा मैं चाहता हूं,
public class Test extends Thread {
public static void main (String... args) {
Thread test = new Test();
test.start();
}
@Override
public void run() {
System.out.println("New thread started...");
}
@Override
public void start() {
System.out.println("Did anyone tell you I will spawn a new thread??");
}
}
यह स्पष्ट रूप से केवल मुद्रित,
क्या किसी ने तुमसे कहा था कि मैं एक नया धागा फूँक दूंगा ??
क्या इंजीनियर की जगह आपको भ्रमित करने के अलावा अन्य का उपयोग करने में कोई फायदा है?
यदि नहीं, तो थ्रेड क्लास में विधि को अंतिम घोषित क्यों नहीं किया गया?