# Datentyp Number????



## fsteinke (16. Okt 2009)

Hallo,

eine Frage zu Number. Number ist ja laut API die Superclass der ganzen Hüllklassentypen. In einem Beispiel in einem Fachbuch  zum Thema Boxing wurde gesagt ich kann die Vererbungshirarchie hinaufboxen.

Also


```
int x = 5;
Number y;
y = x;
```

Ok klappt. OutBoxe klappt nicht. Meine Frage ist nur ist Number jetzt ein Datentyp oder Wrapperklassentyp?
Schließlich kann ich ja auch damit rechnen etc. ok rechnen ist zuviel gesagt ich boxe mein ergebnis und gebe es aus.


```
int my1 = 345; // primitiver Datentyp	
Number x77;
x77 = (my1 * 2); // boxing
System.out.println(x77);
```

Wie muss ich Number im Zusammenhang mit Datentypen verstehen bzw. sehen? st das eine Art variant? ich kann ja alle Numerischen Typen da ablegen.

Wäre für eine Antwort sehr dankbar 

Gruß Frederick


----------



## Spacerat (16. Okt 2009)

Number ist eine abstrakte Klasse und die Vaterklasse aller numerischen Werte inklusive BigInteger und BigDecimal. Zum Rechnen kann man sie aber nicht verwenden. Auch in deinem Beispiel rechnest du nicht mit Number, sondern mit Primitiv-Typen. "x77 + my1" würde z.B. niemals funktionieren.
Ich hab' mir mal 'ne eigene Math-Klasse gebastelt, die, statt primitiven, Number als Argumente verlangt. Als Ergebnis wurden dort Objekte der Klasse des als Parameter übergebenen Objekts zurückgegeben.


----------



## Painii (16. Okt 2009)

fsteinke hat gesagt.:


> Meine Frage ist nur ist Number jetzt ein Datentyp oder Wrapperklassentyp?


Es ist ein Datentyp, nur kein primitiver mehr.
Hier: Datentyp ? Wikipedia wird es "abstrakter Datentyp" genannt, um es von den primitiven zu Unterscheiden.

"Wrapperklassentyp" hört sich zwar auf den ersten Blick komisch an, könnte man aber auch sagen. Wäre dann eine Untermenge der abstrakten Datentypen, die eben alle Wrapperklassen aufnimmt oder so


----------

