Hi Jan
static heißt statisch und bedeutet, dass dieses Element nur einmal in den Speicher geladen wird und von allen nur auf dieses Element zugegriffen wird.
Beispiel:
Zwei Objekte der Klasse X, O1 O2
X enthält die statische Variable kkk
Wenn O1 und O2 instanziiert werden, dann greifen beide auf genau dieselbe kkk Variable zu. Ohne statisch hätte jedes Objekt seine eigene.
Methoden die static sind werden mit CLASS.Methode aufgerufen, z.B. bei den Datentypen. Integer.parseInt ()
Wird gerne bei ObjectPools oder so verwendet.
final bei einer Klasse heisst, dass von ihr nicht mehr geerbt werden darf. Bei einer Methode heißt es, dass sie nicht überschrieben werden kann.
Final hat auch noch Vorteile, was die Geschwindigkeit angeht. Wenn etwas final ist, wird es anders kompiliert und läuft dann etwas schneller.
Hope that heps
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]