I have read source code of java.lang.Number and I wondered why
java.lang.Number
intValue()
longValue()
floatVa
byte and short are the lesser memory consuming versions, and since intValue is abstract, the implementation of intValue can be used for the byte and short. I think that's why they should have done it like that.
byte
short
intValue
abstract