私は壊れやすい基本クラスの問題を研究しており、次の論文が興味深いものであることがわかりました: https://www.research.ibm.com/haifa/info/ple/papers/class.pdf
この論文では、Java に「封印された」アクセス修飾子があれば素晴らしいだろうと主張しています。Java の「final」キーワードに相当する C# の「sealed」とは異なります。提案されたシール機構は、これらのシールされたクラスをパッケージの外に拡張することを不可能にします。
しかし、FBC の問題について私が見つけた資料のほとんどは 90 年代後半から 00 年代前半にさかのぼるので、「問題」がもはや主要な問題ではないかどうか疑問に思います。
Joshua Bloch が、特にライブラリ間での継承の使用を制限することを提唱していることを私は知っています。彼は確かに Java の権威であるようです。
プライベート コンストラクターを持つクラスから継承する一連の最終的な内部クラスを作成することで寡占を実現する方法は知っていますが、これはどういうわけか少し不適切に思えます。
提案されたシーリングは、クラスをデフォルト/パッケージプライベートにするのと基本的に似ていますか、それとも今日の Java には実際にある種のクラス シーリング メカニズムがありますか?