Printing an Object in Java

Printing an Object in Java

When you use System.out.println( ) by passing an object as an argument, the JRE invokes its toString( ) method by default. If you haven’t overridden this method, then you end up with very vague output. For example:

//Without overriding the toString() methodpublic class NoImplForToString {    int a, b;    //Constructor    public NoImplForToString(int x, int y) {        a = x; b = y;    }    //main method    public static void main(String args[]) {         System.out.println(new NoImplForToString(11, 65));    }}

You might see this uninformative output:


However, if you override the toString() method and provide an implementation that you understand, it definitely will look better?both for presentation and comprehension:

//Overriding the toString() methodpublic class ImplForToString {    int a, b;    //Constructor    public ImplForToString(int x, int y) {        a = x; b = y;    }    // Overriding toString     public String toString( ) {        return "ImplForToString[" + a + "," + b + "]";    }        //main methid    public static void main(String args[]) {         System.out.println(new ImplForToString(11, 65));    }}

This version produces the more useful output:


About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist