Diferença de new ImageIcon(getClass().getResource("caminho da imagem")) para new ImageIcon("caminho da imagem")?

eu tava fazendo um programa e tentava colocar uma imagem no JButton, mas não conseguia com a segunda, mas quando usei a primeira funcionou? Queria saber pq? Para n acontecer de novo!

Pelo o que eu conheço, o primeiro comando busca a imagem no path do seu projeto no caminho src/main/resources que geralmente é o padrão!
E o segundo você deve informar o caminho absoluto da imagem para que ela possa ser localizada.

é isso mesmo cara,obrgado