Protected: variable is accessible for that class and other classes which extended that class
Private: variable is accessible for that class only
Public: variable is accessible for that class and other classes even if they do not extend this class. You need to create instance of class in order to access its public variables.
Public static: variable is accessible for that class and other classes even if they do not extend this class. You DO NOT need to create instance of class in order to access its public static variables.
Public static final: variable is accessible for that class and other classes even if they do not extend this class. You DO NOT need to create instance of class in order to access its public static variables.Also you CAN NOT change variable's value since it is final.