In java api, for Number class, they have written as follows. "Subclasses of Number must provide methods to convert the represented numeric value to byte, double, float, int, long, and short. " But methods byteValue() and shortValue() are not declared 'abstract'. How it's "must" for it's subclasses ?
Joined: Aug 14, 2002
If you would read further on that, you will find that they are not abstract because they actually use the intValue() provided by the subclasses and just cast the result to byte and short, so they need not be abstract. Yet if you subclass the Number class you can still override them, not implement them like intValue. HTH [ October 13, 2002: Message edited by: Alfred Kemety ]
It's OK but the question is that when you can create a subclass of Number, you can create it without using those two methods. So, it should not be "must" for a subclass of Number. In java classes they have implemented, is right. But what if I create a subclass of Number and I don't want to use those two methods. I can do it without error.....