Get first in linked list

How am I able to refer ‘head’,which is a non-static variable in getFirst() function in the given code?
class linkedlist{
private class Node{
int data;

 Node next;
 
 Node(int a){
	 this.data=a;
	 this.next=null;
 }
 
}


 private Node head;
 private Node tail;
 private int size=0;
 
 public void addFirst(int val){
	 Node ob=new Node(val);
	 if(this.head==null){
		 this.head=ob;
		 this.tail=ob;
		 this.size++;
	 }else{
	 ob.next=this.head;
	 this.head=ob;
	 this.size++;
	 }
 }
 
 
 public void addLast(int val){
	 Node ob=new Node(val);
	 if(this.head==null){
		 this.head=ob;
		 this.tail=ob;
		 this.size++;
	 }else{/*
		 Node ob1=this.head;
		 while(ob1.next!=null){
			 ob1=ob1.next;
		 }ob1.next=ob;
		 */
		 this.tail.next=ob;
		 this.tail=ob;
		 this.size++;
	 }
 }
 
 
 public void traverse(){
	 Node temp=this.head;
	 while(temp!=null){
		 System.out.print(temp.data+" ");
		 temp=temp.next;
	 }System.out.println("");
 }
 
 
 public int printsize(){
	 return this.size;
 }
 
 
 public int getFirst(){
	 return head.data;
 }
 
 public int getLast(){
	 return tail.data;
 }

}

class client{
public static void main(String []atgs){
linkedlist l1=new linkedlist();
l1.addFirst(43);
l1.addLast(21);
l1.addLast(23);
l1.traverse();
l1.addFirst(34);
l1.traverse();
l1.addFirst(29);

	System.out.println("SIZE OF LINKED LIST "+l1.printsize());
	System.out.println(l1.getFirst());
	System.out.println(l1.getLast());
	
}

}