Bytes no firmados en Java

Bytes en Java están firmados por defecto. Veo en otras publicaciones que una solución alternativa para tener bytes sin firmar es algo similar a eso:int num = (int) bite & 0xFF

¿Podría alguien explicarme por qué esto funciona y convierte un byte firmado en un byte sin signo y luego su número entero respectivo? @ANDing un byte con 11111111 da como resultado el mismo byte, ¿no?

Respuestas a la pregunta(5)

Su respuesta a la pregunta