2012-04-04 14 views
18

Es común en muchas clases de JDK, sólo algunos ejemplos:¿Por qué algunos métodos de Java en las bibliotecas centrales terminan con números?

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

lo general, son los métodos nativos privadas (como en clase Thread), pero a veces no son más que privado (clase Properties)

tengo curiosidad si alguien saber si hay alguna historia detrás de eso.

+1

¿Dónde está Joshua Bloch? Tal vez solía ser el estándar de codificación de Sun. – Alvin

Respuesta

2

Creo que la historia de esta convención es anterior a Java. Recuerdo vagamente haberlo visto en bibliotecas C en 4.x BSD Unix.

7

creo que se llaman así porque existen funciones equivalentes con los mismos nombres en el código y sólo para distinguir entre funciones auxiliares nativos y funciones públicas decidieron sufijo con 0.

en java.util.Properties tanto load, store y load0, store0 existen.

+2

La fuente (jre6) muestra que las funciones 'store' y' load' llaman 'load0' y' store0' después de ajustar los parámetros. – Thirler

2

El 0 después del nombre del método se hace para distinguir entre pública y métodos privados que tienen mismo nombre.

Start función llamará a la función start0. Esas funciones que termina en 0 es un método privado. Y aquellos que no terminan con el número son públicos. Puede verificar en cualquiera de la biblioteca.

Cuestiones relacionadas