Yes, the wrapper classes (e.g. Float and Integer) are final. They can not be extended. This is intentional.
The purpose of a the primitive wrappers seems to have been to give "object" behavior to primitive objects. For example you can now store a list of
int in using something like List<Integer>. However, the language also added automatic boxing and unboxing. So that you can write code like this.
Here the values of x and y are "unboxed" and turned into
int and then added together using normal arithmetic.
If you were allowed to extend Integer, and override the methods then it could lead to chaotic behavior inside core classes.
If you want to extend Integer you can do so by encapsulation.
Of course, if you do that, then
Java will now allow you to add the values of FancyIntegers with just a plus sign (like I did with Integers in line 3 of the first code segment). Some languages (e.g. Scala and C++) allow you to define '+' to work with other operators. It can improve code clarity sometimes. But it is not possible in Java and I don't miss it much.