2012-04-04 18 views
18

Es ist in vielen Klassen in JDK üblich ist, nur ein paar Beispiele:Warum einige Java-Methoden in Kernbibliotheken mit Zahlen enden?

  1. java.util.Properties
    • load0
    • store0
  2. java.lang.Thread
    • START0
    • stop0
    • setPriority0

Regel private native Methoden (wie in Thread-Klasse) sind sie, aber manchmal sind sie nur privat (Eigenschaften Klasse)

ich nur neugierig bin, wenn jemand wissen, ob dahinter irgendeine Geschichte steht.

+1

Wo ist Joshua Bloch? Vielleicht war es früher der Kodierungsstandard von Sun. – Alvin

Antwort

2

Ich denke, dass die Geschichte dieser Konvention Java vorausgeht. Ich erinnere mich vage daran, es in C-Bibliotheken in 4.x BSD Unix zu sehen.

7

Ich glaube, sie so genannt, weil äquivalente Funktionen mit dem gleichen Namen im Code existieren und nur zwischen einheimischen Helferfunktionen und öffentlichen Funktionen unterscheiden sie sie mit 0

in java.util.Properties beide load, Suffix entschieden store und load0, store0 existieren.

+2

Die Quelle (jre6) zeigt, dass die 'store'- und' load'-Funktionen die 'load0' und' store0' nach dem Umbrechen der Parameter aufrufen. – Thirler

2

Die 0 nach dem Methodenname so erfolgt zwischen öffentlichen und privaten Methoden mit demselben Namen zu unterscheiden.

Start Funktion wird die Funktion aufrufen. Jene Funktionen, die mit 0 enden, sind private Methoden. Und diejenigen, die nicht mit der Nummer enden, sind öffentlich. Sie können in der Bibliothek einchecken.

Verwandte Themen