Я понимаю, насколько это будет практично, но с точки зрения абстракции это будет большой беспорядок. Допустим, у вас есть упаковщики Integer и Double вместе с остальными в этой семье, у них действительно есть java.lang.Number в качестве супер. Однако между ними и логическим отношением нет семантической связи (с учетом влияния c).
Но ради аргумента, давайте рассмотрим, все ли они в большом ведре и являются ли Wrappers, они все еще числа?
Учитывая историческое отвращение языков к множественному наследованию, наличие чисел сделало бы намного больше сцен, если бы вы выбрали.
После большого революционного изменения языковых возможностей с SE 8 мы теперь можем иметь множественное наследование через интерфейсы, используя стандартные реализации для таких случаев. И если проанализировать дальше, они в рамках логических рассуждений сделают вывод, что в этих случаях требуются контракты, а не наследование; таким образом, даже если это будет сделано, это будет работа для интерфейсов.
Принимая во внимание, что надежный способ реализации этого является довольно новым, и что Оболочки были бы слишком обобщенным способом сделать это, мы можем видеть, что лучше не иметь его. Хотя теперь это возможно, существуют исторические и семантические причины, по которым он не был представлен, по крайней мере, как суперкласс. Абстракция является ключевым здесь. Но ничто не мешает вам вставить фабрику в ваш конвейер или реализовать упомянутый интерфейс.
Строка снизу, ключевые факторы:
- Абстракция: это больше похоже на контракт или отношения, являющиеся отношениями
- История: обобщения и множественное наследование через интерфейсы
- Вообразите размер наследства три, если мы согласимся
такие случаи: сначала это обертка, затем число или логическое значение.