Was der Unterschied zwischen einer Objekt Methode und einer Klassenmethode ist, sagt dir sicherlich auch eine kurze Suche hier im Forum oder per google.
Das ist doch recht simpel: eine statische Methode/Variable kann man auch aufrufen/nutzen, ohne dass man vorher ein Objekt der Klasse erstellt.
Dazu werden statische Variablen/Methoden nur ein einziges Mal initialisiert und jedes erstellte Objekt teilt sich dieses. Objekte haben also nicht ihre eigene Kopie.
Deshalb sieht man häufig "static final", was bei Anfängern nicht selten zu Verwirrungen führt. Nicht, weil man von außen drauf zugreifen will, sondern, weil die Variable so nicht pro Objekt neu erstellt wird. Braucht man ja nicht, ist ja final.
Statt Bücher würde ich dir eher scripte aus einer Uni (oder besser FH, die sind praktischer angelegt) empfehlen. Kostet dich nichts und viele bieten sie öffentlich an + Übungen + Klausuren.
Die haben ein recht humanes Niveau (Informatikstudenten sind oft nicht besser als du jetzt) und sind praktisch erprobt, im Gegensatz zu den meisten Büchern.