ein einfaches:Java-Konstruktor funktioniert nicht im selben Paket
Ich versuche, einen Konstruktor zu verwenden, um Objekte zu erstellen, aber meine Objekte werden leer erstellt. Der Konstruktor befindet sich in einer anderen Klasse innerhalb desselben Pakets.
public static void main(String[] args) {
//Initialize all data:
ArrayList<Airport_example> all_airports = new ArrayList<Airport_example>();
Airport_example perth = new Airport_example("01","Perth","PER","Australia","WST");
Airport_example brisbane = new Airport_example("02","Brisbane","BNE","Australia","EST");
//Add airports to ArrayList
all_airports.add(perth);
all_airports.add(brisbane);
//debugging
System.out.println(all_airports);
}
Der Konstruktor in einer separaten Klasse sieht wie folgt aus:
public class Airport_example extends HashMap<String,String> {
//list of variables
private String airportID;
private String city;
private String code3;
private String country;
private String timezone;
// constructor to initialize objects
public Airport_example(String airportID, String city, String code3, String country, String timezone) {
// Constructor variable initialization
this.airportID = airportID;
this.city = city;
this.code3 = code3;
this.country = country;
this.timezone = timezone;
}
}
Die System.out.printin Anweisung ein leeres Array zurückgibt. Habe ich hier einen einfachen Trick verpasst?
[{}, {}]
Warum erwarten Sie, dass 'HashMap.toString()' die privaten Felder von 'Airport_example' kennt? Warum erweitern Sie HashMap überhaupt? – Siguza
Warum würden Sie eine Hashmap erweitern? –
Der Konstruktor funktioniert übrigens gut ... –