2012-04-13 7 views
0

私はオラクルのドキュメントを読んでいました。「メソッドのオブジェクト」と「クラスのオブジェクト」とは何ですか?

'スレッドがsynchronizedメソッドを呼び出すと、自動的にそのメソッドのオブジェクトの組み込みロックが取得され、メソッドが返ってくると解放されます。'

ここでは、「メソッドの」オブジェクトについて説明しました。

メソッドのオブジェクトは何ですか?

そして、ここで彼らはCLAS

に関連付けられているオブジェクトを言及している今、「スレッドは、クラスに関連付けられたクラスのオブジェクトの固有ロックを取得します。」

次に、クラスに関連付けられたクラスオブジェクトは何ですか?

これらの違いは何ですか?

答えて

0

クラスは、ユーザーのカスタムデータ型であり、いくつかのメソッドと変数を表します。

オブジェクトは、青写真のように、そのクラスのインスタンス変数です。

また、クラスメソッドとオブジェクトメソッドもあります。

オブジェクトメソッドをそのクラスの特定のインスタンスに送信し、そのクラスメソッドをそのクラスに送信します。

たとえば、クラスカーがあります。そして、それは車がどのように建設され、それが何をすることができるのかを記述するだけです。それで、方法があるかもしれません。Create a new car。たとえば、メルセデスやアウディなどのオブジェクトはほとんどありません。そして、このオブジェクトはメソッドの駆動と停止に応答することができます。それは理にかなっていますか?

0

オブジェクトは、操作またはアクセスできるインスタンス化されたエンティティです。

0

メソッドのオブジェクトは、メソッドが現在使用されているオブジェクトです。

クラスオブジェクトは、クラス階層のルートです。 すべてのクラスはスーパークラスとしてObjectを持っています(これで混乱しないでください) 配列を含むすべてのオブジェクトは、このクラスのメソッドを実装します。

1

私は、メソッドのオブジェクトは、非staticメソッドであると考えています。つまり、インスタンスに固有のメソッドです()。

クラスメソッドは、クラスで宣言された静的メソッドですが、クラスメソッドは、クラス内で宣言された静的メソッドです。グローバル関数のような言語に応じて

MyClass myInstance = new MyClass(); 

// Method's object: 
// Specific to the instance and won't be called by separate threads at he same time for myInstance, but can be called on another instance of MyClass 
myInstance.method(); 

// Class method: 
// Is at the class level, won't be called by separate threads at the same time at all. 
MyClass.myStaticMethod(); 
関連する問題