2012-04-13 11 views
0

Ich las Orakel-Dokumente.Was ist "Objekt der Methode" und "Objekt der Klasse"?

'Wenn ein Thread eine synchronisierte Methode aufruft, erfasst er automatisch die systeminterne Sperre für das Objekt dieser Methode und gibt sie bei der Rückkehr der Methode frei.'

Hier haben sie "Methode" -Objekt erwähnt.

Was genau ist das Objekt der Methode?

Und jetzt sie Objekt sind erwähnen mit cla assoziiert

‚der Faden erwirbt die intrinsische Sperre für das Class-Objekt mit der Klasse verbunden ist.‘

Was ist dann Klassenobjekt mit Klasse verbunden?

Was ist der Unterschied zwischen ihnen?

Antwort

0

Die Klasse ist nur ein benutzerdefinierter Datentyp, der einige Methoden und Variablen darstellt.

Objekt ist Instanzvariable dieser Klasse, wie ein Blueprint.

Und dort auch Klassenmethoden und Objektmethoden.

Sie senden eine Objektmethode an eine bestimmte Instanz dieser Klasse und eine Klassenmethode an diese Klasse.

Zum Beispiel haben Sie Class Car. Und es beschreibt nur, wie das Auto konstruiert ist und was es tun kann. Dann kann es Methoden haben Create a new car. So haben Sie zum Beispiel weniger Objekte als Mercedes und Audi. Und diese Objekte können auf Methoden reagieren und anhalten. Macht das Sinn?

0

Ein Objekt ist eine instanzierte Entität, die manipuliert werden kann oder auf die zugegriffen werden kann.

0

Das Objekt einer Methode ist das Objekt, für das die Methode derzeit verwendet wird.

Klassenobjekt ist der Stamm der Klassenhierarchie. Jede Klasse hat Object als Superklasse. (Verwechseln Sie das nicht) Alle Objekte, einschließlich Arrays, implementieren die Methoden dieser Klasse.

1

Ich denke, dass die Methode Objekt sind die Methoden, die nicht-statische sind, das heißt, die Methode, die für die Instanz spezifisch sind.

Während die Klassenmethoden sind die statischen Methoden in der Klasse deklariert. Abhängig von der Sprache, die wie globale Funktionen sein kann

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(); 
Verwandte Themen