Стилистически я должен представить, что использование этих методов как части общедоступного API будет считаться плохим стилем.Вы действительно хотите видеть методы, которые вы не можете вызвать всплывающими подсказками в диалоговом окне автозаполнения вашей IDE при работе с библиотекой?Я так не думаю.
Что касается того, почему нет предупреждений компилятора, в большинстве (возможно, во всех?) Объектно-ориентированных языках (и, конечно, в Java) определяемые пользователем типы объектов просто передаются в методы с использованиемуказатели.Таким образом, для передачи ссылки на него в качестве параметра функции не требуется никаких знаний о фактическом типе, только знание указателей.И что касается компилятора, у каждого есть знания о том, как создать указатель, поэтому у него нет оснований говорить «вы не можете вызывать это внешне».По крайней мере, вы можете назвать его значением null
.