Java: при объявлении объектов или целых - PullRequest
2 голосов
/ 21 января 2012

При создании объекта (или чего-либо) в Java, в чем разница между выполнением, например,

Dog d = new Dog();

вместо выполнения

Dog d;

, а затем завершениемэто (иногда внутри и в начале метода) с

d = new Dog();

Разве первый не был бы более простым и легким?Почему люди делают это вторым способом?

Ответы [ 11 ]

0 голосов
/ 21 января 2012

Это грубый пример ленивой инициализации. В вашей программе, возможно, вам никогда не понадобится фактический экземпляр объекта Dog. В этих случаях вы можете просто объявить ссылку Dog, которая не занимает много памяти, а затем инициализировать ее при необходимости.

...