Publication non è una funzione, ma una classe... e se cominciamo così, cominciamo proprio male...

Manca del tutto il metodo main()... quindi non si sa dove comincia il programma... forse questa classe è di supporto... che ne sappiamo?

Se poi cerchi di "avviare" la classe, utilizzandone il nome, come se fosse, appunto, una funzione, caschiamo ancora più in basso...

Credo che sia il caso di cominicare da zero: aprire un libro sulla programmazione ObjectOriented, in questo caso, possibilmente, che parli di Java e cominciare a studiare le basi...

Ciao.