# Class Number

java.lang.Object
java.lang.Number

All Implemented Interfaces:
  `Serializable`

Direct Known Subclasses:
  `AtomicInteger, AtomicLong, BigDecimal, BigInteger, Byte, Double, DoubleAccumulator, DoubleAdder, Float, Float16, Integer, Long, LongAccumulator, LongAdder, Short`

public abstract class Number extends Object implements Serializable
The abstract class `Number` is the superclass of platform classes representing numeric values that are convertible to the primitive types `byte`, `double`, `float`, `int`, `long`, and `short`. The specific semantics of the conversion from the numeric value of a particular `Number` implementation to a given primitive type is defined by the `Number` implementation in question. For platform classes, the conversion is often analogous to a narrowing primitive conversion or a widening primitive conversion as defined in The Java Language Specification for converting between primitive types. Therefore, conversions may lose information about the overall magnitude of a numeric value, may lose precision, and may even return a result of a different sign than the input. See the documentation of a given `Number` implementation for conversion details.

See Java Language Specification:
  5.1.2 Widening Primitive Conversion
  5.1.3 Narrowing Primitive Conversion
Since:
  1.0
See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Number()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `byte`
  `byteValue()`
  Returns the value of the specified number as a `byte`.
  `abstract double`
  `doubleValue()`
  Returns the value of the specified number as a `double`.
  `abstract float`
  `floatValue()`
  Returns the value of the specified number as a `float`.
  `abstract int`
  `intValue()`
  Returns the value of the specified number as an `int`.
  `abstract long`
  `longValue()`
  Returns the value of the specified number as a `long`.
  `short`
  `shortValue()`
  Returns the value of the specified number as a `short`.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### Number

    public Number()
    Constructor for subclasses to call.

- ## Method Details

  - ### intValue

    public abstract int intValue()
    Returns the value of the specified number as an `int`.
    Returns:
      the numeric value represented by this object after conversion to type `int`.

  - ### longValue

    public abstract long longValue()
    Returns the value of the specified number as a `long`.
    Returns:
      the numeric value represented by this object after conversion to type `long`.

  - ### floatValue

    public abstract float floatValue()
    Returns the value of the specified number as a `float`.
    Returns:
      the numeric value represented by this object after conversion to type `float`.

  - ### doubleValue

    public abstract double doubleValue()
    Returns the value of the specified number as a `double`.
    Returns:
      the numeric value represented by this object after conversion to type `double`.

  - ### byteValue

    public byte byteValue()
    Returns the value of the specified number as a `byte`.
    Implementation Requirements:
      The default implementation returns the result of `intValue()` cast to a `byte`.
    Returns:
      the numeric value represented by this object after conversion to type `byte`.
    Since:
      1.1

  - ### shortValue

    public short shortValue()
    Returns the value of the specified number as a `short`.
    Implementation Requirements:
      The default implementation returns the result of `intValue()` cast to a `short`.
    Returns:
      the numeric value represented by this object after conversion to type `short`.
    Since:
      1.1