Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

हम Java 9 में StackWalker.getCallerClass () विधि का उपयोग कब कर सकते हैं?


Java 9 ने आलसी पहुंच के लिए स्टैक वॉकिंग का एक कुशल तरीका प्रदान किया है, StackWalker API का उपयोग करके स्टैक ट्रेस को फ़िल्टर करना। StackWalker . का एक ऑब्जेक्ट हमें ट्रैवर्स और स्टैक तक पहुंचने की अनुमति दे सकता है। इस वर्ग में कुछ उपयोगी विधियाँ हैं जैसे चलना () , प्रत्येक के लिए () , और getCallerClass()

getCallerClass() विधि उस वर्ग को लौटाती है जो इस विधि को कॉल करने वाली विधि को आमंत्रित करती है। कॉलिंग क्लास इंस्टेंस को पकड़ने के लिए, हमें RETAIN_CLASS_REFERENCE की आवश्यकता है स्टैकवॉकर उदाहरण प्राप्त करते समय। RETAIN_CLASS_REFERENCE स्टैकवॉकर द्वारा चलाए गए सभी वर्गों का एक उदाहरण रखता है।

सिंटैक्स

पब्लिक क्लास getCallerClass() 

उदाहरण

आयात करें }}वर्ग StackWalkerTest1 {संरक्षित स्थैतिक शून्य परीक्षण1 () { StackWalkerTest2.test2 (); }}वर्ग StackWalkerTest2 {संरक्षित स्थैतिक शून्य परीक्षण2() { System.out.println(StackWalker.getInstance (विकल्प.RETAIN_CLASS_REFERENCE ).getCallerClass() ); }}

आउटपुट

वर्ग StackWalkerTest1 

  1. हम जावा में पैक () विधि का उपयोग कब कर सकते हैं?

    द पैक() विधि विंडो . में परिभाषित है जावा में वर्ग और यह फ्रेम को आकार देता है ताकि इसकी सभी सामग्री उनके पसंदीदा आकार पर या उससे ऊपर हो। पैक() . का एक विकल्प विधि setSize() . को कॉल करके स्पष्ट रूप से एक फ्रेम आकार स्थापित करना है या सेटबाउंड्स () तरीके। सामान्य तौर पर, पैक () . का उपयोग करते हु

  1. क्या हम जावा में वर्ग नाम के समान विधि नाम को परिभाषित कर सकते हैं?

    हां , इसे समान नाम वाली विधि . को परिभाषित करने की अनुमति है एक वर्ग के रूप में। कोई संकलन-समय नहीं है या रनटाइम त्रुटि होगी। लेकिन जावा में कोडिंग मानकों के अनुसार इसकी अनुशंसा नहीं की जाती है। आम तौर पर निर्माता का नाम और वर्ग का नाम हमेशा समान होता है जावा में। उदाहरण public class MethodNameTest

  1. एक अमूर्त वर्ग का उपयोग कब करें और जावा में इंटरफ़ेस का उपयोग कब करें?

    एक इंटरफ़ेस का उपयोग अनुबंध व्यवहार को परिभाषित करने के लिए किया जा सकता है और यह दो प्रणालियों के बीच एक अनुबंध के रूप में भी कार्य कर सकता है, जबकि एक सार वर्ग मुख्य रूप से उपवर्गों के लिए डिफ़ॉल्ट व्यवहार को परिभाषित करने के लिए उपयोग किया जाता है, इसका मतलब है कि सभी बाल वर्गों को समान कार्यक्षम