A variable is a container which holds the value while the java program is executed.A variable is assigned with a data type.Variable is a name of memory location.There are three types of variables in java: local,instance and static.
1.local variable: A variable declared inside the body of the method is called local variable.You can use this variable only within that method and other methods in the class aren't even aware that the variable exists.A local variable cannot be defined with static keyword.
2.Instance variable: A variable declared inside the class but outside the body of the method is called instance variable.It is not declared as static.It is called instance variable because it's value is instance specific and is not shared among instances.
3.Static variable: A variable which is declared as static is called as static variable.It cannot be local.We can create a single copy of static variable and share among all the instance of the class.Memory allocation for static variable happens only once when the class is loaded in the memory.
int data=50;//instance variable
static int m=100;//static variable
int n=90;//local variable