すべてのJavaクラスにはルートクラスがあり、オブジェクトクラスです。そのクラスと自分のクラスの場所を変更できclass MyObject extends Object
ますか?それはより機能的にいくつかあります。
このことは可能ですか?
すべてのJavaクラスにはルートクラスがあり、オブジェクトクラスです。そのクラスと自分のクラスの場所を変更できclass MyObject extends Object
ますか?それはより機能的にいくつかあります。
このことは可能ですか?
いいえ、できません。コンパイラの問題でもありません。java.lang.Object
継承階層のルートは、言語定義、さらにはVM仕様の非常に基本的な事実であるためです。
いいえ、これは不可能です。Javaのすべてのオブジェクトは、から派生する必要がありますjava.lang.Object
。
システム内のすべてのオブジェクトに機能を追加したい場合は、独自のMyObject
クラスを導入し、すべてのクラスがこれから派生していることを確認します。機能を既存のオブジェクトに拡張する場合は、静的ヘルパーメソッドを使用してこれを行います(C#では拡張メソッドを使用しますが、Javaにはそのようなオプションはありません)。
私はそのようなことを聞いたことがありません。なぜあなたはしたいですか?それはあなた以外の誰かのためにあなたのコードをフォローすることを不可能にするでしょう。そこにあるすべてのJavaプログラマーは、クラスを明示的に拡張するか、Objectを拡張することを前提としています。
クラスの最初に「extendsMyObject」を入れるのは本当に大変な作業ですか?Eclipse(および他のIDE)を自動的に挿入するように構成できると確信しています。
これは私には疑わしいアプローチのようですが、バイトコードインストルメンテーション
を
使用してこれをアーカイブできます(ただし、これはコンパイル時ではなく、vminit / classload時に実行されます-使用するインストルメンテーションのタイプによって異なります)。