Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/12/2018, 18:44
dacroma
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 157
Antigüedad: 10 años, 11 meses
Puntos: 2
variables de interface

Buen dia compañeros del foro.
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:
Ver original
  1. public class EchoServer extends Endpoint {
  2.  
  3.      public void onOpen(Session session, EndpointConfig config) {
  4.          final RemoteEndpoint remote = session.getBasicRemote();
  5.          session.addMessageHandler(new MessageHandler.Whole<String>() {
  6.              public void onMessage(String text) {
  7.                  try {
  8.                      remote.sendString("Got your message (" + text + "). Thanks !");
  9.                  } catch (IOException ioe) {
  10.                      // handle send failure here
  11.                  }
  12.              }
  13.          });
  14.      }
  15.  
  16.  }
lo que no entiendo es lo siguiente:
¿si no se puede declarar variables de una interface entonces entonces por que se declarò como sigue:?
Código Java:
Ver original
  1. RemoteEndpoint remote=session.getBasicRemote();
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.

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.

Última edición por dacroma; 06/12/2018 a las 18:49