The first and second options are essentially synonyms, but only the second is shorthand for the first. It can be used if you do not want to pass parameters to the constructor of the class. If necessary, it is better to use the same first, for reasons of readability of the code. The difference in performance between them is negligible.
The third option is not in order to call objects. It is in 95% of cases do not require the developer, also in this case, once the function is called. To develop frameworks \ CMS he is more than useful because it allows to handle variables with names of objects, classes, etc.