Estoy intentando desglosar algo de la api de java ee7 y tengo que aceptar que me esta dando muy duro entenderla.
En el paquete javax.websocket entre unas tantas, hay dos interfaces:
1)session
2)remoteEndpoint
y en la parte de abajo estan las clases, y entre ellas hay una que se llama EndPoint.
cuando le doy click en esa clase, como es esperado se muestra la documentacion para dicha clase, y bajando un poco por esta pantalla aparece el siguiente ejemplo que no he podido entender.
por Ejemplo.
Código Java:
lo que no entiendo es lo siguiente:Ver original
public class EchoServer extends Endpoint { public void onOpen(Session session, EndpointConfig config) { final RemoteEndpoint remote = session.getBasicRemote(); session.addMessageHandler(new MessageHandler.Whole<String>() { try { remote.sendString("Got your message (" + text + "). Thanks !"); // handle send failure here } } }); } }
¿si no se puede declarar variables de una interface entonces entonces por que se declarò como sigue:?
Código Java:
si dentro de la clase creada "EchoServer extends Endpoint"veo que RemoteEndpoint es una interface que llama a la interface session que es otra interface que invoca un metodo que devuelve un tipo de dato RemoteEndpoint.Ver original
RemoteEndpoint remote=session.getBasicRemote();
en la documentacion se ve en la tabla como sigue
Modifier and Type
RemoteEndpoint.Basic
Method and Description
getBasicRemote()
Return a reference a RemoteEndpoint object representing the peer of this conversation that is able to send messages synchronously to the peer
Y en todo lo que llevo investigando, en todo lado dice que no se pueden crear variebles ni instancias de interfaces.
Muchas gracias a aquel que dè respuestas a mi pregunta, de verdad que esa transferencia de conocimento hacia otros que quieren aprender se traduce a algo solido y exitoso.