Самый правильный путь изучить java - это перестать беспокоиться о том правильно-ли ты учишь java, a просто решать на нем задачи, как и на любом другом языке. Да, язык местами громоздкий, отчасти неконсистентный (например, сосуществование примитивных и объектных типов), необьятно-огромная стандартная библиотека, так что можно по-незнанию изобретать велосипед а потом хлопать себя по-лбу.
Я лично поддерживаю подход, что нужно как можно раньше научить человека читать API. Полезно будет ознакомиться с шаблонами проектирования. Желательно идти от задачи к решению, тогда в мозгу активируется процесс усвоения материала. (т.н. проблемно-ориентированное обучение) Задач для тернировки конструкций языка валом кругом, начиная от интерактивных платформ типа codingame, hackerrank, codehunt, codewars и заканчивая просто сборниками задач как codingbat.
Тут был как-то вопрос мол стоит ли сначала изучить Java а только потом переходить на разработку под Android. Один из ответов, я бы просто печатал на обложке каждой книги по java: "Вы никогда полностью не изучите Java". Может после такого откровения вы станете отноститься к этому проще.