¿Cómo puedo pasar un constructor para un constructor?

votos
1

La pregunta dice Añadir un constructor para la clase Point que acepte otra Point como parámetro e inicializa el nuevo punto de tener los mismos valores (x, y). Usar la palabra clave this en su solución.

public  class Point
{
  int x;
  int y;
  //enter your code here
}

Lo que he aplicado todos los conceptos que se me ocurre y golpear y método de ensayo, pero ninguno de ellos funcionó. Quiero decir, ¿cómo puedo pasar a un constructor para un constructor! Este es el mejor que se me ocurrió.

 public Point(Point)
 {
     this.x=x;
     this.y=y;
  }

Pero esto genera un error. <Identificador> esperada Punto pública (punto)

Publicado el 20/10/2018 a las 10:32
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
2

Su constructor debe ser:

public Point(Point p) {
    this.x = p.x;
    this.y = p.y;
}

De esta manera se asigna p's atributos a los atributos de su clase.
No ha incluido el identificador p.
Aunque si este es el único constructor de la clase, entonces la clase es inútil ya que necesita un objeto preinstantiated con el fin de crear una instancia de una nueva.

Respondida el 20/10/2018 a las 10:37
fuente por usuario

votos
0

Al menos es necesario dar una variable de parámetros constructor de un nombre:

public Point(Point p) {
 this.x = p.x;
 this.y = p.y;
}

Usted no tiene que pasar un constructor para el constructor, sólo un ejemplo es suficiente para copiarlo. Instancia de la clase tiene un acceso a todos los campos privados de la misma clase

Respondida el 20/10/2018 a las 10:39
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more