Porque na prática você está instanciando 4 threads. O construtor default da Thread atribui a cada uma os nomes Thread-n, na ordem em que são criadas, começando com n=0 veja:
Thread t = new Thread(new Given3()); instancia Thread-1 e depois Given3 que tb é uma Thread,
só aqui já existe os nomes Thread-1 e Thread2, o mesmo caso com a linha de baixo!
Obrigado!
rmendes08
Sim. E já deixo a dica: ao invés de estender de Thread, faça com que a classe que vai executar na thread implemente Runnable. Ou no caso do Java 8, você pode passar um lambda diretamente para o construtor de Thread.