Java - Clases!!

 
Vista:

Clases!!

Publicado por Rodolfo Burlano (9 intervenciones) el 16/11/2005 18:35:25
Buen dia.

Tengo la siguiente clase:

public class TUbkMessage {
byte MessageType = 0;
tUBKUserHeader Sender;
tUBKUserHeader Dest;
tUbkResult RequestResult;
tMessageCommands Commands;
tMessageData Content;
void TUbkMessage() {
// Aqui va el codigo para inicializar algo.
}
}

Esta clase tiene datos de tipos o estructuras que estan en otras clases, como por ejemplo:

class tUBKUserHeader {
static String userName;
static String UserPublicIP;
static String UserPrivateIP;
static String IDModule;
static String IDTransmitter;
static String IDProcess;
}

Le puse static para evitar tener que instanciarlo, esta clase solo contiene datos. aqui me di con un problema, Sender y Dest tienen el mismo tipo tUBKUserHeader, significa de que cuando cargue datos en Dest habre destruido los de Sender, asi que solo se me ocurre crear dos tipos de cabeceras una para Sender y otra para Dest. Si hay una mejor alternativa, encantado de escucharlos.

Pero ese no es un problema tan fuerte, lo fuerte para mi esta aqui. Digamos este tipo:

tMessageCommands

class tMessageCommands {
static String C[];
static String P[];
//
void SetCountC(int cant){
String C[] = new String[cant];
}
void SetCountP(int cant) {
String P[] = new String[cant];
}
}

Aqui uso dos variables de tipo String y en matrices y trate de crear unos metodos para definirlos previamente antes de poder cargar la data en el programa principal (que hace uso de la clase TUbkMessage.

TUbkMessage msg = new TUbkMessage();
msg.Commands.SetCountC(1);
msg.Commands.C[0] = "login";

Cuando corro el programa, se estanca y cuando lo hago con el DEBUG puedo apreciar de que muere en la linea:

msg.Commands.SetCountC(1);

Es decir al definir cuantos valores tipo String debe tener la matriz C
E visto tambien en el DEBUG de que al declarar msg, los campos que tienen valor solo es MessageType y el resto de campos (Sender, Dest, RequestResult, Commands, Content) marcan null.

Posiblemente alli este mi problema. no puedo llamar a un null o mejor dicho no puedo asignarle msg.Commands.SetCountC(1) a un null.

Como podria solucionar esto?

Mil gracias amigos.

Rodolfo Burlando
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