I was going through the LinkedList and seen the implementation in Java. Back in days when I tried and implemented the linkedlist, it was with pointers and addresses and a lot of hard work. With Java the implementation is easier but still took some doing on my part. What I know of linked list is clear from following diagram,where 1,2,3,4 are nodes of the linkedlist. 
However In java, the code I came across made me to think of the LinkedList as following diagram.
The implementation code of linkedlist in Java is as follows,
class LinkedListNode { LinkedListNode nextNode = null;//consider this member variable int data; public LinkedListNode(int data) { this.data = data; } void appendItemToLinkedList(int newData) { LinkedListNode end = new LinkedListNode(newData); LinkedListNode temp = this; while (temp.nextNode != null) { temp = temp.nextNode; } temp.nextNode = end; } } and
public static void main(String[] args) { LinkedListNode list = new LinkedListNode(10); list.appendItemToLinkedList(20); list.appendItemToLinkedList(30); list.appendItemToLinkedList(40); list.appendItemToLinkedList(50); list.appendItemToLinkedList(60); } In the diagram , you can clearly see the node objects are inside the other node objects. Is it really a linked list.Or A parent container holding other container inside it and so on?
LinkedListNodeholds a reference to the nextLinkedListNodenode, not its value.LinkedListNodeis a reference type in Java, so each node stores a reference to the next (which works similarly to how a pointer would work in C or C++)