Проект крейсера для службы в Ост-Индии был разработан фирмой "Krupp Germaniawerft". В первом варианте корабль имел полубак, полуют, 4 трубы и традиционное для того времени размещение орудий по бортам, но окончательно был выбран проект с протяженным полубаком, двумя трубами и расположением артиллерии по смешанной схеме. Внешне он напоминал германские линейные крейсера типа Moltke. Проект утвердили 21 июля 1915 года.
Тип "Java" был близок к германским крейсерам Первой мировой войны, от которых в практически неизменном виде заимствовал конструкцию корпуса, но отличался от них усиленным вооружением и увеличенным примерно на четверть водоизмещением.
Бронирование включало 75-мм пояс по ватерлинии, прикрывавший силовую установку и погреба (общая длина 120 м), а далее на протяжении 13 м в корму утончавшийся до 50 мм и защищавший рулевое устройство. Горизонтальная защита обеспечивалась 25-мм бронепалубой с 50-мм скосами, примыкавшими к верхней кромке пояса. В носу и корме цитадель замыкалась 60-мм траверсами. Толщина брони боевой рубки 100— 125 мм; орудийных щитов— 100 мм; дымоходов — 50 мм.
Торпедного и авиационного вооружения проектом не предусматривалось. Корабли могли принимать 12 мин в специальные погреба или до 36 мин на рельсы.
Вскоре после вступления в строй крейсера получили по 2 гидросамолета (сначала Van Berkel WA, затем Fairey IMF, Fokker C.VIIW), для спуска/подъема которых у носовой трубы смонтировали по 2 крана.