他の言語ではどうか(C#を例にして)
C#ではそもそもヘッダファイルという概念がありません(C++でのクラスがすべてインラインで記述されていると考えて下さい。こっちの方がずっと自然です)。当然インクルード文もありません。プロジェクトに含まれるソースファイルは一度すべて一本のファイルに連結され、その後プリプロセス処理が走ります。わかりやすい。
ではインターフェイスの公開はどうするのか? 実装レベルではinterfaceというそのものずばりがあります。また、ドキュメントレベルではアセンブリというインターフェイス公開メカニズムがあります。これはソースコードを超えた概念です((もしかするとインターフェイスの公開と実装の隠蔽というのは、ソースコードに限定した言語仕様では実現出来ないのかもしれません))。Javaにもきっと似たような物があるでしょう*1。