Java - llamar a constructor desde otra clase

   
Vista:
Imágen de perfil de Franklyn

llamar a constructor desde otra clase

Publicado por Franklyn (2 intervenciones) el 17/11/2014 18:02:24
Saludos, como hago para llamar a un constructor desde otra clase??
-------------------------------------------------------------------------------------------------------------------------------

Lo pregunto por lo siguiente:
Tengo 2 Clases: pagoControEstudiante2 y guardaConsultaPago. La primera es la clase visual, la segunda consulta a la DB y manda valores a la primera.

/*********************CLASE guardaConsultaPago*************************************************/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
public class guardaConsultaPago {
	private static ResultSet rs=null;
	private static Statement st=null;
	private int cathcData;
	private String catchMat;
	private String nombregcp;
	private String apellidogcp;
 
public String consultaAlumnoPago2(String tf){/*, String nR, String cR, String mR*/
		conecta conex= new conecta();
		pagoControEstudiante2 pce =new pagoControEstudiante2();
		getterSetterPago gSP=new getterSetterPago();
 
		try{
		        Statement statement= conex.getConnection().createStatement();
		        String sql="SELECT * FROM alumno WHERE matricula='"+tf+"'";
		        java.sql.PreparedStatement Pstatement=conex.getConnection().prepareStatement(sql);
		         System.out.println("1 guarda - consultaAlumnoPago: "+tf);
 
				while(rs.next()){
					System.out.println("1-Matricula Guarda consula:"+tf);
					System.out.println("2-Guarda consula:"+rs.getString(1));
					if(rs.getString(1)==tf){
						System.out.println("matricula Guarda consula:"+rs.getString(1));
				        JOptionPane.showMessageDialog(null, this, "Usuario:"+rs.getString(1), 0);
 
				        /*gSP.setNombreGCP(rs2.getString(2));
				        System.out.println("setNombreGCP "+rs2.getString(2));
				        
						gSP.setApellidoGCP(rs2.getString(3));
						System.out.println("setApellidoGCP "+rs2.getString(3));*/
					}
					catchMat=rs.getString(1);
 
					gSP.setNombreGCP(rs.getString(2));
			        System.out.println("setNombreGCP "+rs.getString(2));
 
					gSP.setApellidoGCP(rs.getString(3));
					System.out.println("setApellidoGCP "+rs.getString(3));
				}
		        System.out.println("3 guarda:"+catchMat);
		        statement.close();
		        ((Connection) conex).close();
		    }
		    catch (Exception ex){
		        JOptionPane.showMessageDialog(null, this, "Error "+ex.getMessage()+" - "+ex+" - "+ex.getCause(), 0);}
 
			return catchMat; //matricula
		 }
/**********CONSTRUCTORES*********************/
	public guardaConsultaPago(String nombregcp, String apellidogcp) {
 
		 this.nombregcp = nombregcp;
		 System.out.println("Constructor:"+nombregcp);
 
		 this.apellidogcp = apellidogcp;
		 System.out.println("Constructor:"+apellidogcp);
	}
	 public guardaConsultaPago() {}
}
/*******************************************/

/****************************************CLASE pagoControEstudiante2 **************************************/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
btnBuscar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
 
				getterSetterregistroControlEstudiante gSRCE3 = new getterSetterregistroControlEstudiante();
				guardaConsultaPago gCP=new guardaConsultaPago();
				getterSetterPago gSP = new getterSetterPago();
 
				String tf=txfMatriculaBusca.getText();
				comp(tf);
				System.out.print("["+tf+"]");
 
				if((tf.equals(gCP.consultaAlumnoPago2(tf)))){
						System.out.print(""+tf);
						panelRegistro.setEnabled(true);
 
						txfNombresPago.setEnabled(true);
						txfNombresPago.setText((gCP.consultaAlumnoPago2(tf)));
						//System.out.println("pCE"+gSP.getNombreGCP());
						//String nombreGCP=gCP.nombregcp;
						//System.out.println("nombreGCP "+gCP.nombregcp());
						//txfNombresPago.setText(gCP.nombregcp());
						/***********************ENCAPSULAMIENTO************************************/
						//System.out.println("encapsular nombreGuardaConsulta: "+gCP.getnombregcp());
						//txfNombresPago.setText(gCP.getnombregcp());
						/*************************************************************************/
 
						txfApellidosPago.setEnabled(true);
						txfApellidosPago.setText((gCP.consultaAlumnoPago2(tf)));
						//System.out.println("pCE"+gSP.getApellidoGCP());
						//String apellidoGCP=gCP.apellidogcp;
 
						txfCedulaPago.setEnabled(true);
						txfCedulaPago.setText(tf);
 
						table.setEnabled(true);
						btnGuardar.setEnabled(true);
						btnImprimir.setEnabled(true);
						}
			}
		});

Solo quiero que pagoControEstudiante2 llame al constructor de guardaConsultaPago, para poder imprimir por consola o en el textField los datos consultados desde guardaConsultaPago.

Hasta ahora solo me imprime el nombre y el apellido consultado en la clase guardaConsultaPago, pero al llamar al contructor se imprime null.

Quiero saber si estoy llamando bien al constructor o si existe otra forma para imprimir los datos consultados de una clase en otra clase. Agradecido de antemano...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

llamar a constructor desde otra clase

Publicado por juanki (95 intervenciones) el 18/11/2014 15:16:48
Hola

No estoy muy puesto en Java, pero hasta donde yo sé, el constructor se llama automáticamente cuando creas la instancia de la clase (al usar new). No lo puedes llamar cuando tú quieras.

Lo que sí se puede hacer es, si una clase tiene varios constructores, desde uno de ellos llamar a otro, pero solo desde un constructor de la misma clase y creo que tiene que ser la primera instrucción.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar