не сочтите за придирку, просто лучше писать не "создаешь переменную", а "объявляешь переменную", а то малоопытные товарищи могут путаться между СОЗДАНИЕМ объекта и ОБЪЯВЛЕНИЕМ переменной.
StackOfStrings s;
System.out.print(s);
s = new StackOfStrings(100);
Единственная разница, только в том что переменную s нельзя будет использовать в правой части выражения, пока ей не будет хоть что-то присвоено. Код выше даже не скомпилируется. Отличий, которые бы повлияли на работы программы нет.