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

Java में toString() को ओवरराइड क्यों करें: ऑब्जेक्ट प्रतिनिधित्व बढ़ाना

Java में toString() मेथड का उद्देश्य क्या है?

यदि हम किसी क्लास के ऑब्जेक्ट को String के रूप में दर्शाना चाहते हैं, तो हम toString() मेथड का उपयोग कर सकते हैं जो ऑब्जेक्ट का टेक्स्टुअल प्रतिनिधित्व लौटाता है।

जब आप किसी ऑब्जेक्ट को प्रिंट करते हैं, तो डिफ़ॉल्ट रूप से Java कंपाइलर ऑब्जेक्ट पर toString() मेथड को इनवोक करता है। इसलिए toString() मेथड को ओवरराइड करके, हम सार्थक आउटपुट प्रदान कर सकते हैं।

आइए इस अवधारणा को निम्न उदाहरण में देखें:

toString() मेथड को ओवरराइड करना

package io.devqa.tutorials;

public class ToStringExample {
    private String firstName;
    private String lastName;
    private String email;

    public ToStringExample() {
    }

    public String getFirstName() { return firstName; }
    public void setFirstName(String firstName) { this.firstName = firstName; }
    public String getLastName() { return lastName; }
    public void setLastName(String lastName) { this.lastName = lastName; }
    public String getEmail() { return email; }
    public void setEmail(String email) { this.email = email; }

    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append("First name : ").append(this.firstName).append("\n");
        sb.append("Last name : ").append(this.lastName).append("\n");
        sb.append("Email : ").append(this.email).append("\n");
        return sb.toString();
    }

    public static void main(String args[]) {
        ToStringExample example = new ToStringExample();
        example.setFirstName("Testing");
        example.setLastName("Tester");
        example.setEmail("testing@tester.com");
        System.out.println(example);
    }
}

उपरोक्त कोड निम्न आउटपुट देता है:

First name : Testing
Last name : Tester
Email : testing@tester.com

यदि हमने toString() मेथड को ओवरराइड नहीं किया होता, तो आउटपुट होता

io.devqa.tutorials.ToStringExample@60e53b93

जैसा कि देखा जा सकता है, toString() मेथड को ओवरराइड करके, हम ऑब्जेक्ट का सार्थक प्रस्तुतीकरण आउटपुट कर सकते हैं।

  1. Java में String intern() मेथड की भूमिका क्या है? Java में String intern() मेथड की भूमिका क्या है?

    स्ट्रिंग Java में एक क्लास है जो कैरेक्टर्स के सीक्वेंस को स्टोर करती है, यह java.lang पैकेज से संबंधित है। एक बार स्ट्रिंग ऑब्जेक्ट बनाने के बाद आप उन्हें मॉडिफाई नहीं कर सकते (इम्यूटेबल)। स्टोरेज सभी स्ट्रिंग ऑब्जेक्ट्स हीप एरिया में एक अलग मेमोरी लोकेशन में स्टोर होते हैं जिसे स्ट्रिंग कॉन्स्टे

  1. - Java मेथड ओवरराइडिंग के नियम

    एक मेथड को ठीक से ओवरराइड करते समय हमें निम्नलिखित नियमों पर विचार करना चाहिए −आर्गुमेंट लिस्ट ओवरराइडन मेथड के समान होनी चाहिए।रिटर्न टाइप वही होना चाहिए या सुपरक्लास में घोषित मूल ओवरराइडन मेथड के रिटर्न टाइप का सबटाइप होना चाहिए।एक्सेस लेवल ओवरराइडन मेथड के एक्सेस लेवल से अधिक प्रतिबंधात्मक नहीं

  1. - Java में Method Overriding

    ओवरराइडिंग सबक्लास टाइप के लिए विशिष्ट व्यवहार को परिभाषित करने की क्षमता है, जिसका अर्थ है कि एक सबक्लास अपनी आवश्यकता के आधार पर पैरेंट क्लास मेथड को इम्प्लीमेंट कर सकता है।ऑब्जेक्ट-ओरिएंटेड शब्दों में, ओवरराइडिंग का अर्थ है मौजूदा मेथड की कार्यक्षमता को ओवरराइड करना।उदाहरणआइए एक उदाहरण देखें।clas