>Any particular reason (guess there is one) why you're not allowed to extend some of the >basic classes in java like Integer, Float etc...?
I can think couple reasons:
To avoid introducing anomalous behavior; for example, one may not subclass Integer and
provide a method intValue() to return something other than the int value.
There is also performance issue. Since all the methods can not be overridden, the compiler may be able to inline these methods.