¿Por qué no es necesario asignar el valor de retorno de un método a una variable? [duplicar]

Posible duplicado:
¿Qué sucede con un objeto en Java si no hace referencia a él, como aquí: myString.concat ("eso")

public class ReturnTest
{
    public static void main(String[] args)
    {
        ReturnTest rt = new ReturnTest();
        rt.show();
    }

    public String show()
    {
        return "Hello";
    }
}

En el código anterior elshow() método devuelve unString Valor que no es capturado por ninguna variable. Ni el compilador ni la JVM generan ninguna advertencia, error o excepción alguna. Lo mismo es cierto para los tipos de retorno primitivos. ¿Por qué?

¿No debería el compilador asegurarse de que ningún valor importante devuelto por un método se pierda por esto?

¿Cómo puedo arreglar esto desde un shell?

Respuestas a la pregunta(3)

Su respuesta a la pregunta