In ProgAnagrafica hai già istanziato Anagrafica.
Anagrafica contatto = new Anagrafica();
È già questo il "collegamento" e ovviamente entrambe le classi devono compilare correttamente.
Ma alla fin fine, avrai comunque, in ogni caso, 2 file .class, indipendentemente dal fatto che le classi ProgAnagrafica e Anagrafica siano definite nello stesso sorgente .java oppure in due sorgenti distinti.
E fintanto che la JVM riesce poi a rintracciare entrambe le classi a runtime ..... il resto non conta più.