Hallo zusammen,
Ich hätte eine Frage bezüglich Klasseninstanzen in Verbindung mit Importmethoden.
In meinem aktuellen Programm habe ich in meiner Main-Klasse eine Klasseninstanz von einer Klasse Names "Inventar" angelegt.
Diese Klasse arbeitet wiederum mit einer HashMap, die Ich ja erstmal importieren musste. Das Problem das ich habe und nicht verstehe ist, dass ich trotz instanziieren der Klasse Inventar nicht den HashMap-Befehl .isEmpty(); in der Main-Klasse aufrufen kann, sondern erst in der Inventarklasse nochmals in eine Methode schreiben muss in der, der Befehl steht. Kann mir jemand erklären wieso oder was ich falsch mache ?
Meine Idee war das beim ansprechen von der Klasseninstanz er die Methode isEmpty() kennt da ich sie ja importiert habe, anscheint ist dies aber nicht so.
Danke schon mal für eure Hilfe!
Ich hätte eine Frage bezüglich Klasseninstanzen in Verbindung mit Importmethoden.
In meinem aktuellen Programm habe ich in meiner Main-Klasse eine Klasseninstanz von einer Klasse Names "Inventar" angelegt.
Diese Klasse arbeitet wiederum mit einer HashMap, die Ich ja erstmal importieren musste. Das Problem das ich habe und nicht verstehe ist, dass ich trotz instanziieren der Klasse Inventar nicht den HashMap-Befehl .isEmpty(); in der Main-Klasse aufrufen kann, sondern erst in der Inventarklasse nochmals in eine Methode schreiben muss in der, der Befehl steht. Kann mir jemand erklären wieso oder was ich falsch mache ?
Meine Idee war das beim ansprechen von der Klasseninstanz er die Methode isEmpty() kennt da ich sie ja importiert habe, anscheint ist dies aber nicht so.
Danke schon mal für eure Hilfe!
Java:
//MAIN Klasse
package game;
public class Spiel {
public static void main(String[] args) {
Item sword = new Item(1,"Schwert");
Inventar inventar = new Inventar();
System.out.prinln(inventar.isEmpty()); //Den Abschnitt will er nicht machen da er die Methode anscheinend nicht kennt
System.out.println(inventar.emptyInv());//Das macht er aber
}
}
//Klasse Inventar
package game;
import java.util.HashMap;
public class Inventar {
private HashMap<Integer, Integer> inv = new HashMap<Integer, Integer>();
public void addItem(Item item, int amount) {
if(amount > 0) {
inv.put(item.get_ID(), amount);
}
}
public boolean emptyInv() {
return inv.isEmpty();
}
}