首先我们需要明白的就是为什么要有Number这个抽象类,
在实际开发中,我们很多时候会遇到需要使用对象而非基本数据类型的情况。
比如说,你需要对 11 这个 数字进行操作的时候,如果你是使用的是int java内置类型的时候,是得不到任何帮助的,但是你如果使用的是int类型的包装类型,你就可以的到这个类下面方法的帮助。因此java为开发者提供了基本数据类型的包装类。
Integer i= 10;//这个动作叫做装箱 把一个基本数据类型的值赋给一个Integer对象。
int i2 = i;.//这个动作是拆箱,把一个Integer对象赋值给了一个基本数据类型int.
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。
这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number 类属于 java.lang 包。其实对于Number和 math类没什么好说的,里面有很多的数学运算以及类型转换。如有需要的可以看看java的API.