一、Number类
/**
* Number
* 抽象类 Number 是 BigDecimal、BigInteger、Byte、Double、Float、Integer、Long 和 Short 类的超类
* Number 的子类必须提供将表示的数值转换为 byte、double、float、int、long 和 short 的方法。
*/
public abstract class Number implements Serializable
{
//以 int 形式返回指定的数值。这可能会涉及到舍入或取整
public abstract int intValue();
public abstract long longValue();
public abstract float floatValue();
public abstract double doubleValue();
public byte byteValue(){}
public short shortValue(){}
}
二、练习
import java.math.*;
/**
* 计算任意多个任意数字类型数字的和
*/
class Demo
{
public static void main(String[] args)
{
Number sum = add(1,3.6,5.2f);
System.out.println(sum);
}
public static Number add(Number...nums)
{
BigDecimal bd = null;
BigDecimal sum = new BigDecimal(0);
for(Number num : nums)
{
bd = new BigDecimal(num.toString());
sum = sum.add(bd);
}
return sum;
}
}