Methoden Referenz und Speicherplatz für Objekte reservieren

  • Themenstarter Themenstarter JulianNew01
  • Beginndatum Beginndatum
J

JulianNew01

Gast
Hallo 🙂

Habe ein Problem:

Und zwar habe ich folgende Aufgaben auf und weiß leider nicht wie ich sie lösen soll 🙁
Bitte um Hilfe :

(a) Schreibe die Folgende Klasse :

Klassendiagramm :

MemAllocTest
----------------
-data : byte[]
----------------
+MemAllocTest()
+memAlloc(int arraysize) : void
+freeMem() : void


Das hab ich dann geschrieben :

Java:
public class MemAllocTest
{
    private byte[] data; 
    
    public MemAllocTest(){
    }
    
    public void memAlloc(int arraySize){  
    }
    
    public void freeMem(){
    }
    
}

Aufgabe :

In der Methode memAlloc(int arraySize) wird ein Array-Objekt des Typs int[] der Größe arraySize erzeugt und die Referenz in die Instanz Vaiable data eingetragen. In freiem() wird die Referenz auf null gesetzt.

Das int[] Array erstellen ist noch einfach :

Java:
public class MemAllocTest
{
    private byte[] data; 
    
    public MemAllocTest(){
    }
    
    public void memAlloc(int arraySize){  
      int[] iarray = new int[arraySize];
    }
    
    public void freeMem(){
    }
    
}

Nur wie mache ich das mit der Referenz?

Dann die zweite Aufgabe :

Erzeuge ein Objekt der Klasse MemAllocTest und reserviere circa 100 MByte.
Welche Fehlermeldung erscheint?

Danke schonmal im Vorraus 🙂
 
In der Methode memAlloc(int arraySize) wird ein Array-Objekt des Typs int[] der Größe arraySize erzeugt und die Referenz in die Instanz Vaiable data eingetragen. In freiem() wird die Referenz auf null gesetzt.

Da kann irgendwas nicht stimmen. Grundsätzlich ist wahrscheinlich nur so was gemeint

Java:
data = new byte[arraySize];

aber byte und int funktionieren hier nicht zusammen. Für eins muss man sich schon entscheiden.^^
 
Da kann irgendwas nicht stimmen. Grundsätzlich ist wahrscheinlich nur so was gemeint

Java:
data = new byte[arraySize];

aber byte und int funktionieren hier nicht zusammen. Für eins muss man sich schon entscheiden.^^


Ja genau das war mein Problem :/
Aber das stimmt. Steht so da.
 

Zurück
Oben