Стоимость любого API, сделанного publi c (что и происходит), заключается в том, что вы больше не можете изменить или удалить его, потому что кто-то где-то может его использовать, и вы нарушите их код.
В качестве крайнего примера просто посмотрите на сколько времени потребовалось, чтобы удалить sun.misc.Unsafe
из Java, и сколько кода был нарушен этим удалением , хотя в документации прямо указано, что вам не разрешено его использовать . (Фактически, sun.misc.Unsafe
на самом деле все еще там, поэтому удаление не удалось , потому что его использует очень много кода, хотя это явно запрещено.)
Если вы экспортируете API, вы даете обещание пользователям этого API. Экспортируйте только те API, в отношении которых вы готовы дать и выполнить это обещание.