0

In my Java project, I have a class called myInteger with the following code:

    public class myInteger {

         private int data;

         public myInteger(int data) {
              this.data = data;
         }
    }

Now I have another class called MainClass which contains the main method. I am creating two objects: First object of the java.lang.Integer class and the second object of myInteger class. Then, I print both the object variables by passing the integer and myInteger to the println method.

    public class MainClass {

           public static void main(String[] args) {
               Integer integer = new Integer(1);
               myInteger myInteger = new myInteger(1);
               System.out.println(integer);
               System.out.println(myInteger);
           }
    }

I get the following output:

1

MainClass.myInteger@67ea6afc

In the case of Integer class, I get the auto-unboxed integer value. But in the second case, I get reference.

Why does this happen? Is there any way to print data field of myInteger object without using any sort of getter methods?

Community
  • 1
  • 1
qrius
  • 621
  • 2
  • 9
  • 22

0 Answers0