Ответ
Нет, напрямую создать экземпляр абстрактного класса java.lang.Number нельзя. Ключевое слово abstract запрещает использование оператора new с этим классом.
Number n = new Number(); // Ошибка компиляции: Number is abstract; cannot be instantiated
Для чего нужен класс Number? Это абстрактный базовый класс для всех классов-обёрток числовых примитивов. Он определяет общий контракт для преобразования числового значения в различные примитивные типы.
Как его использовать? Ссылке типа Number можно присвоить объект любого конкретного класса-наследника.
Примеры:
// Создание объектов конкретных классов-наследников
Number integerNum = Integer.valueOf(10); // Целое число
Number doubleNum = Double.valueOf(3.14); // Число с плавающей точкой
Number bigNum = new BigDecimal("123.456"); // Большое десятичное число
// Использование методов конвертации из Number
int intValue = integerNum.intValue(); // = 10
double dValue = doubleNum.doubleValue(); // = 3.14
byte bValue = integerNum.byteValue(); // = 10
Основные наследники Number: Integer, Long, Double, Float, Short, Byte, BigInteger, BigDecimal.