¿Cómo cargo correctamente una imagen almacenada en Java?

Bien, entonces he estado tratando de cargar una imagen almacenada usando este código:

URL url = this.getClass().getResource("test.png");
BufferedImage img = (BufferedImage) Toolkit.getDefaultToolkit().getImage(url);

Esto me da un error de conversión de tipo cuando lo ejecuto, entonces, ¿cómo puedo cargar correctamente una imagen almacenada?

Respuestas a la pregunta(2)

Su respuesta a la pregunta