Declaration, Instantiation and Initialization are very confusing terms in Java. Let us clear their meanings with example :
A variable is said to be declared when we give name to variable and associate it with a class.
Example :- Student stu; (here Student is a class)
Instantiation means we are creating an object or allocating memory. So use of new keyword to create an object and allocate memory is instantiation.
Initialize means we are associating/assigning some values to an object. So to associate values with object we call constructor. So calling constructor is called initialization.
Example:- new Student(); (here we are instantiating object using new keyword and initializing object by calling constructor).