La razón és piensan que quería hacer esto es que usted se ha encontrado en una situación en la que el tipo de variable no es suficiente contexto.
Por ejemplo, podría engañarme a mí mismo al pensar que tengo que darle mis constructores de la clase Point dos: uno que funciona por X e Y, y uno por grados y radianes. Ambos pueden ser representados como float.
Así que creo que necesitaba dos constructores con firmas idénticas (flotar, flotar).
Dr.Bloch señala que es mejor hacer métodos de fábrica:
public static Point newPointByDegreesAndRadians (float degrees, float radians);
public static Point newPointByXandY (float x, float y);
Por cierto, otra alternativa a los métodos de fábrica es la creación de tipos que llevan el contexto en el que no se encuentra en los tipos de datos, como esto:
public class CoordinatesXY {
float X;
float Y;
...
}
public class CoordinatesDegreesRadians {
float degrees;
float radians;
...
}
public Point (CoordinatesXY coordinates) { ... }
public Point (CoordinatesDegreesRadians coordinates) { ... }
Si usted piensa que esto es más claro que los métodos de fábrica es una cuestión de gusto. Para este caso específico, tengo la sensación de que las dos clases de coordenadas solo son útiles si el diseño hace que las coordenadas sean útiles por sí mismas, separadas de un punto en esas coordenadas.
erm, usted no puede, ¿verdad? –
Primero, ¿te importaría mostrarnos un ejemplo que compila? –
Para el registro, ¿te refieres a dos constructores * en la misma clase * con la misma firma? – harpo