Ну я бы добавил еще проверку size в конструкторе.
Плюс все таки типы данных на дженериках (или как они там в джаве? Шаблоны?) делать принято, а не на Object.
А что, в Java нет стандартного стека, что свой надо изобретать?
Вы меня не так поняли малость, или я не так выразился.
Залить в сторы != представить ответственности. Залить в стор - это финальная точка разработки. Всякие интеграции платежек и нотификаций, понимание что такое ключи, подпись, сертификаты и вот этот весь околорелизный пул задач - это очень важно и должно ценится сильно больше, чем академические знания и умение гуглить.
В таких случаях обычно уточняют страну и город.