Ntürlich können wir Tipps geben - doch musst du auch einsehen, dass es dazu Bücher gibt auf denen auf mehreren Seite diese Bereiche diskutieret werden - und das wird hier keiner machen....
Warum extends:
Du scheibst z.b. einen Anwendung, also ein Fenster in dem der user was eingeben kann. Du könntest dir die Mühe machen alles selbst zu schreiben - oder du siehst, dass es sowas schon gibt (z.B. JFrame). Da dein Frame aber noch mehr machen soll, als einfach ein kleines Fenster zu sein (also spezielle Komponente haben usw.) schreibst du eine eigene Klasse, die von JFrame erbt --> sie hat eigenes Verhalten + das komplette Verhalten von JFrame...
Warum implements:
Du willst z.B. deinen Objekte sortieren lassen. Dazu gibt es z.b. die Klasse TreeSet. Die speichert deine Objekte sortiert in einer Liste. Nur woher weiß TreeSet, wie es deine Objekt sortieren soll ? Sie weiß es nicht - muss es aber gar nicht wissen, sie weiß nur, dass deine Objekte das Interface "Comparable" implementieren, d.h. sie besitzen die methode compareTo, die einem sagt, ob das aktuelle Objekt größer, kleiner oder gleich einem anderen Objekt ist. D.h. TreeSet ist egal wie du die Method implementiert hast, es weiß nur es gibt diese Schnittstelle, also kann es sortieren.
Das sind nur zwei Beispiele. Vererbung ist in java essentiell (hierbei erweiterst du das Verhalten bzw. die Eigenschaften deiners Objekts um die der Superklasse), ebenso die Nutzung von Schnittstellen (Interfaces - also nach dem Motto - ich weiß nicht wie du die spezielle Methode implementierst (daher auch implements) - ich weiß nur, dass du sie hast, also kann ich sie nutzen) - und stehen wirklich gut in versch. Büchern (GotoJava / Java ist auch nur eine Insel usw)....