Java Number类(详细)

一,Number

在这里插入图片描述
java.lang.Number 类是抽象类,用于表示各种数值类型的对象。它是 Java 中所有数值类型的包装类的超类。Number 类主要有以下几个特点和作用:

  1. 抽象类Number 类是一个抽象类,不能直接实例化,但可以用作其他数值类型的基类。

  2. 超类Number 类是整个数值类型包装类层次结构的超类。Java 中的所有数值包装类(IntegerLongFloatDoubleByteShort)都直接或间接继承自 Number 类。

  3. 提供常用方法Number 类提供了一些抽象方法,用于获取不同数值类型的值,如 doubleValue()floatValue()intValue()longValue() 等。这些方法允许将一个数值对象转换为对应的基本数据类型的值。

  4. 通用性:由于 Number 类是各种数值包装类的超类,因此它可以作为一个通用的引用类型,用于存储各种数值类型的对象。这种通用性使得在需要处理不同数值类型的场景中更加灵活。

  5. 自动装箱与拆箱:在 Java 中,基本数据类型可以自动装箱为对应的包装类型,而包装类型也可以自动拆箱为对应的基本数据类型。因此,Number 类的子类(如 IntegerDouble 等)可以与基本数据类型之间自由转换,提供了更方便的数值处理方式。

总之,Number 类在 Java 中扮演着重要的角色,它为处理不同数值类型提供了一种统一的接口,使得数值操作更加灵活和方便。

原文介绍
在这里插入图片描述

这里有说到请阅读官网文档

在这里插入图片描述
在这里插入图片描述

官方文档
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Number.html

我们得以看出Number还是有很多孩子的

AtomicInteger, AtomicLong, BigDecimal, BigInteger, Byte, Double, DoubleAccumulator, DoubleAdder, Float, Integer, Long, LongAccumulator, LongAdder, Short

接下来我来进行验证到底是真孩子还是假冒伪劣产品

在这里插入图片描述
果然,它的孩子还是挺多的。言归正传,开始介绍哈哈哈

二,Number的方法

在这里插入图片描述

在这里插入图片描述

当然,让我们从头开始逐个介绍java.lang.Number类中的方法。

  1. byte byteValue()

    • 返回值类型:byte
    • 方法说明:将Number对象转换为byte类型的值。
    • 用法示例:
      Number num = 10;
      byte b = num.byteValue();
      System.out.println(b); // 输出 10
      
  2. short shortValue()

    • 返回值类型:short
    • 方法说明:将Number对象转换为short类型的值。
    • 用法示例:
      Number num = 20;
      short s = num.shortValue();
      System.out.println(s); // 输出 20
      
  3. int intValue()

    • 返回值类型:int
    • 方法说明:将Number对象转换为int类型的值。
    • 用法示例:
      Number num = 30;
      int i = num.intValue();
      System.out.println(i); // 输出 30
      
  4. long longValue()

    • 返回值类型:long
    • 方法说明:将Number对象转换为long类型的值。
    • 用法示例:
      Number num = 40;
      long l = num.longValue();
      System.out.println(l); // 输出 40
      
  5. float floatValue()

    • 返回值类型:float
    • 方法说明:将Number对象转换为float类型的值。
    • 用法示例:
      Number num = 50;
      float f = num.floatValue();
      System.out.println(f); // 输出 50.0
      
  6. double doubleValue()

    • 返回值类型:double
    • 方法说明:将Number对象转换为double类型的值。
    • 用法示例:
      Number num = 60;
      double d = num.doubleValue();
      System.out.println(d); // 输出 60.0
      

这些方法允许在不同类型的数字之间进行转换,方便在程序中进行数字类型的操作和处理。请注意,Number类本身是抽象的,因此不能直接实例化,但可以通过其子类如IntegerDouble等来实例化对象并使用这些方法。

其实讲到这里其实已经差不多了。父类定义好之后,子类可以进行重写或者使用父类的,这个我就不一一介绍是什么原因了,毕竟这个文章能看懂的也是Java工程师了,如果不懂得话后期我单独写一篇文章什么是继承(extends)和实现(implements)