Duda con metodos con parametros quien me puede explicar?

Iniciado por Ila26, 3 Diciembre 2013, 17:22 PM

0 Miembros y 1 Visitante están viendo este tema.

Ila26

Saludos,soy un novato en este lenguaje de java pero ay vamo,estoy aprendiendo poco a poco

la duda que tengo son con los metodos con parametros,aqui les dejo un programa y en forma de comentario les dejo al lado de la linea donde esta mi duda,espero que me puedan ayudar,aunque debe ser una boberia pero quiero entenderlo muy bien desde ya muchas gracias

(son 3 lineas donde estan mis dudas)


class Err {
String msg; // error message
int severity; // code indicating severity of error

Err(String m, int s) { // Tengo entendido que esto es un contructor con parametros
msg = m;                //String M y Int s se pasa a msg y a severety?
severity = s;
}
}

class ErrorInfo {
String msgs[] = {
"Output Error",
"Input Error",
"Disk Full",
"Index Out-Of-Bounds"
};
int howbad[] = { 3, 3, 2, 4 };

Err getErrorInfo(int i) {      //Este metodo GetErrorinfo(int i) a que esta   asociado
if(i >=0 & i < msgs.length)
return new Err(msgs, howbad);
else
return new Err("Invalid Error Code", 0);
}
}

class ErrInfo {
public static void main(String args[]) {
ErrorInfo err = new ErrorInfo();
Err e;

e = err.getErrorInfo(3);
System.out.println(e.msg + " severity: " + e.severity);

e = err.getErrorInfo(5);
System.out.println(e.msg + " severity: " + e.severity);
}
}

ThinkByYourself

Hola, Ila26.
Efectivamente:
Código (java) [Seleccionar]

Err(String m, int s) { // Tengo entendido que esto es un contructor con parametros

...es un contructor (un método que genera un objeto/instancia de una clase, y que se invoca con el operador "new") con parámetros (o inputs, a lo mejor se entiende más fácil). El constructor, en Java, se caracteriza porque se le llama igual que la clase y porque no se especifica el tipo de dato de retorno (porque devuelve un objeto de la clase), como sí se haría en el resto de métodos (aunque sea "void", pero se tiene que poner).
También es correcto que:
Código (java) [Seleccionar]

msg = m;                //String M y Int s se pasa a msg y a severety?
severity = s;

...los parámetros del constructor son asignados a las propiedades de la clase "String msg" y "int severity".
En cuanto a la tercera pregunta, pues está asociado a la clase ErrorInfo, es un método de la clase ErrorInfo.
Espero haber sido de ayuda.
No te voy a engañar.
Todos hemos sido programados para normalizar la psicopatía de las élites económicas y políticas, y para realimentar su patrón de ciega codicia.