2012-04-04 8 views
18

E 'comune in un sacco di lezioni di JDK, solo alcuni esempi:Perché alcuni metodi Java nelle librerie principali terminano con i numeri?

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

Di solito sono metodi nativi (come in private classe Thread), ma qualche volta sono solo private (Proprietà classe)

Sono solo curiosa, se qualcuno sapere se c'è qualche storia dietro a questo.

+1

Dove si trova Joshua Bloch? Forse era lo standard di codifica di Sun. – Alvin

risposta

2

Penso che la storia di questa convenzione sia precedente a Java. Ricordo vagamente di averlo visto nelle librerie C in 4.x BSD Unix.

7

credo che si chiamano così perché esistono funzioni equivalenti con stessi nomi in codice e solo di distinguere tra le funzioni di supporto native e funzioni pubbliche hanno deciso di suffisso loro con 0.

in java.util.Properties sia load, store e load0, store0 esistono.

+2

La sorgente (jre6) mostra che le funzioni 'store' e' load' chiamano 'load0' e' store0' dopo aver avvolto i parametri. – Thirler

2

Il 0 dopo il nome del metodo è fatto in modo di distinguere tra pubblico e privati ​​ metodi che hanno lo stesso nome.

Start la funzione chiamerà la funzione start0. Quelle funzioni che terminano con 0 è un metodo privato. E quelli che non terminano con il numero sono pubblici. È possibile effettuare il check in in qualsiasi libreria.

Problemi correlati