title: LinkedList Java traverse and print
body: <p>I would really appreciate if you can help to answer to this question:</p>
  
  <p>I have already created a custom linked list myself in a very standard way using Java. Below are my classes:</p>
  
  <pre><code>public class Node {
  
     private Object obj;
     private Node next;
  
     public Node(Object obj){
         this(obj,null);
     }
  
     public Node(Object obj,Node n){
         this.obj = obj;
         next = n;
     }
  
     public void setData(Object obj){
         this.obj = obj;
     }
  
     public void setNext(Node n){
         next = n;
     }
  
     public Object getData(){
         return obj;
     }
  
     public Node getNext(){
         return next;
     }
  
  }
  
  
  
  
  public class linkedList {
      private Node head;
  
  
      public linkedList(){
          head = null;
      }
  
      public void setHead(Node n){
          head = n;
      }
  
      public Node getHead(){
          return head;
      }
  
  
     public void add(Object obj){
         if(getHead() == null){
             Node tmp = new Node(obj);
             tmp.setNext(getHead());
             setHead(tmp);
         }else{
             add(getHead(),obj);
         }
     }
  
  
     private void add(Node cur,Object obj){
         if(cur.getNext() == null){
             Node tmp = new Node(obj);
             tmp.setNext(cur.getNext());
             cur.setNext(tmp);
         }else{
             add(cur.getNext(),obj);
         }
     }
  
  
  }
  </code></pre>
  
  <p>Im trying to print value i have inserted into the list as below</p>
  
  <pre><code>public static void main(String[] args) {
          // TODO code application logic here
          Node l = new Node("ant");
          Node rat = new Node("rat");
          Node bat = new Node("bat");
          Node hrs = new Node("hrs");
  
          linkedList lst = new linkedList();
          lst.add(l);
          lst.add(rat);
          lst.add(bat);
          lst.add(hrs);
  
  
  
          Node tmp = lst.getHead();
          while(tmp != null){
  
              System.out.println(tmp.getData());
              tmp = tmp.getNext();
  
          }
  
  
      }
  </code></pre>
  
  <p>but the output i got from the IDE is </p>
  
  <pre><code>linklist.Node@137bd6a1
  linklist.Node@2747ee05
  linklist.Node@635b9e68
  linklist.Node@13fcf0ce
  </code></pre>
  
  <p>why does it print out the reference but not the actual value of the string such as bat,ant,rat... ?</p>
  
  <p>If i want to print out the actual value then what should i do?</p>
  
  <p>Thank you very much</p>