2012-04-06 17 views
1

Ich habe eine Unterklasse genannt dvdToRent und innerhalb der Klasse gibt es eine Methode namens dvdRental, die ich direkt von einem Arraylist genannt dvdCompanyAufrufen einer Unterklasse Methode von Arraylist

public void dvdRental (int dvdNumber, String customer) 
{   

    if (dvds.size() < 0) { 
     System.out.println("Empty list"); 
     } 
     else if (dvdNumber >= dvds.size()) { 
      System.out.println("Doesn't exist!!"); 
     } 
    else { 

     dvd = dvds.get(dvdNumber); 
     dvdToRent.dvdrental(customer); 
    } 
} 

thats nennen wollen, was ich wahrscheinlich dachte könnte die Methode aufrufen, tut es aber nicht, es gibt mir einen Fehler in der letzten Zeile. Irgendwelche Vorschläge? Danke im Voraus!

+0

Wir müssen sein werden mehr Code sehen. Und wahrscheinlich die Fehlermeldung. – Jeffrey

+0

Suchen Sie eher nach einem Reflection-Aufruf der Methode für die Klasse? –

Antwort

1

Sie können eine Methode nicht direkt aus einer Liste aufrufen, da eine Liste eine Sammlung von Objekten ist. Sie müssen ein bestimmtes Element dieser Sammlung auswählen.

Zum Beispiel wie folgt aus:

dvdToRent.get(0).dvdrental(customer); 

Dies nimmt das erste Element aus der Liste genannt dvdToRent und verwendet dann dieses Element mit dem Parameter Kunden anrufen dvdrental.

+0

Ich versuche, die DVD-Nummer vom Benutzer zu erhalten, so dass es auf diese bestimmte DVD in der vorletzten Zeile gilt. Nachdem ich die DVD-Nummer bekommen habe, möchte ich, dass sie die Methode aufruft, damit sie sie mietet. – user1102815

+0

Wenn das nicht hilft, müssen wir mehr von Ihrem Code sehen. –

1

Unter der Annahme, dass dvd als dvdToRent erklärt wird, sieht es aus wie Sie Ihre letzte Zeile wollen

dvd.dvdrental(customer); 

statt

dvdToRent.dvdrental(customer); 
Verwandte Themen