In java, we just declare Object references. Though you use the phrase "declaring the object" that actually means declaration of object reference but not the object. You can call it as an object only after its instantiation.
Hello h; means just declaring a reference to hold the object/instance of the class Hello. Reference variable just holds the address of the object.
When you say h = new Hello(); You are actually creating an object/instance in the heap and its address is given to 'h'. Now you can call 'h' as an object.But, if you go in depth its actually a reference variable that holds the address of the object.