The final keyword in Java serves three main purposes: it makes variables constant, restricts method overriding, and prevents inheritance. Used at the variable level, it ensures a variable cannot change. At the method and class levels, it prevents overriding methods and subclassing, respectively.