Phone p;
- это просто ссылка или «указатель», как некоторые люди, предпочитающие язык Си, назвали бы его. Он содержит путь к объекту, но в настоящее время путь нулевой.
Phone p = new Phone(200) //(200 is the price of the phone).
Здесь вы создаете новый объект Phone, вызывая его конструктор, который принимает значение 200. Затем объект присваивается ссылке p.
new Phone(200)
Здесь вы просто создаете объект типа Phone, но не имеете ссылки на него, поэтому этот объект, в свою очередь, будет собираться мусором в JVM (если на него не ссылается что-то другое внутри).
Привет!