Java ist eine typsichere Sprache. Daher bekommen Variablen einen Datentyp.
Die Idee von Java und anderen typsicheren Sprachen ist, dass Variablen so deklariert werden, dass nur Werte bzw. Objekte bestimmter Typen zugewiesen werden können. In diesem Zusammenhang spielen Zuweisungskompatibilitäten und Vererbung eine Rolle.
Typisierte Sprachen haben den Vorteil, dass man viele Fehler, die man bei nicht typisierten Sprachen erst zur Laufzeit erkennen kann, schon beim Kompilieren sieht.