Забудьте статические методы - они здесь не актуальны.Я бы рекомендовал смотреть на статические методы / элементы только тогда, когда вы действительно поняли, что такое объекты.
В Java вы можете сделать это:
Object object;
Точно так же, как вы можетесделайте это:
Object object = new Object();
В первом примере вы создаете ссылку, но вы не заполняете эту ссылку чем-либо, во втором примере вы создаете ссылку и заполняете ее новойобъект, для которого вы можете вызывать методы, изменять значения и т. д.
Если вы попытаетесь вызвать методы в первом объявлении, вы не сможете - там ничего нет.В зависимости от языка и от того, как вы его объявили, это может привести к ошибке во время выполнения или к ошибке времени компиляции (Java делает и то, и другое в зависимости от того, является ли это полем или локальной переменной.) Однако принцип одинаков для всех языков ОО,Вы не можете разыменовать (вызывать методы, поля и т. д.) ссылку, которая не была заполнена, потому что в действительности вы пытаетесь вызвать метод для чего-то, чего там нет.