Verbraucht der Aufruf der Klasse auch Bytes?
Also "Aufruf" ist auf jeden Fall das falsche Wort. Aber eine Klasse benötigt natürlich einen Overhead, denn es muss ja bekannt sein, was da gespeichert wird.
https://shipilev.net/jvm/objects-inside-out/#_methodology_considerations könnte da interessant sein. Wirklich alles mal versuchen nachzuvollziehen. Für das Verständnis ist es wichtig. Object Size wäre dann unter 6.2 im Detail.
Dann ist die Frage, wie man die Arrays berechnet. Die Klasse selbst speichert ja nur eine Referenz auf die Arrays. Daher sind die Arrays streng genommen erst einmal nicht Bestandteil des Objekts. Und Referenzen wird dann auch direkt interessant - man kann ja in die Implementation schauen und dann findet man CompressedReference und so ... Also auch das ist nicht trivial.
Wenn man die Größe eines Arrays berechnen möchte, dann ist da natürlich auch der Overhead zu beachten. Da hat man die 12 bytes jeder Klasse + 4 Bytes für die Array Größe. (nach dem oben genannten Link)
Dann wird auch ausgerichtet. Also auch wenn ein byte nur 1 Byte benötigt, sind dann wohl 4 Bytes belegt fürchte ich ...
Und das ist eine Implementationsfrage. Wenn ich das OpenJDK clone und jedem Objekt ein größeren Header gebe oder ich da auf 256Bit CPUs optimieren will und daher entsprechend alle Elemente Ausrichte oder oder oder ....
Aber es gibt auf jeden Fall einen Anhaltspunkt, was da ggf. zu berücksichtigen ist. Die genaue Fragestellung im Wortlaut wird dann ggf. interessant und wenn es Dir um eine Zertifizierung geht: Was die Macher denn als richtige Antwort erwarten....