First of all, "instantiating an object" and "creating an object" is the same thing. Different words with the same meaning.
About your statements; do you mean the difference between these two?
Test1 t1; Test1 t1 = new Test1();
In the first line, you declare a variable t1 of type Test1. You are not initializing it, and you are not instantiating/creating an object. Because it's a member variable (of class Test2), it will get the default value null.
In the second line, you declare a variable t1 of type Test1 and you instantiate/create a new Test1 object, and you initialize the variable t1 with this object (i.e. t1 is a reference to the newly created object).
The first statement is only declaring a reference. As it is a field, it will get assigned the default value of null. No object gets created.
The second statement is declaring a reference, creating (=instanciating) an object via new, and letting the reference reference that object (using the assignment operator).
Does that help?
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
I’ve looked at a lot of different solutions, and in my humble opinion Aspose is the way to go. Here’s the link: http://aspose.com
subject: Difference between instantiating and creating an object