Hallo,
ich habe folgendes Problem.
Ich möchte Informationen (erstmal nur Vorname und Nachname) aus einer .txt datei einlesen und die Daten dann in einer Collection (ArrayList) speichern. Die Infos sollen in einer Container-KLasse verwaltet werden. Bisher funktioniert das auch soweit.
Nun soll aber eine Vererbung stattfinden, aber wenn ich die Super-Klasse abstract mache, funktioniert das nicht mehr. Es kann wohl keine Collection mehr mit den daten erstellt werden, aber nach 2 Tagen rechereche und probieren hab ich keine Lösung gefunden, daher die Hoffnung, dass mir hier jemand helfen kann.
Nun die Fehlermeldung:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot instantiate the type Team
at team.TeamContainer.readTeams(TeamContainer.java:33)
at test.Test.main(Test.java:16)
Nun der Code:
Main-Methode
Superklasse: (wenn ich hier das abtract rausnehme funktioniert alles.
Die Subklasse
Die Verwalterklasse
Falls noch Fragen sind oder Infos fehlen einfach schreiben.
ich habe folgendes Problem.
Ich möchte Informationen (erstmal nur Vorname und Nachname) aus einer .txt datei einlesen und die Daten dann in einer Collection (ArrayList) speichern. Die Infos sollen in einer Container-KLasse verwaltet werden. Bisher funktioniert das auch soweit.
Nun soll aber eine Vererbung stattfinden, aber wenn ich die Super-Klasse abstract mache, funktioniert das nicht mehr. Es kann wohl keine Collection mehr mit den daten erstellt werden, aber nach 2 Tagen rechereche und probieren hab ich keine Lösung gefunden, daher die Hoffnung, dass mir hier jemand helfen kann.
Nun die Fehlermeldung:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Cannot instantiate the type Team
at team.TeamContainer.readTeams(TeamContainer.java:33)
at test.Test.main(Test.java:16)
Nun der Code:
Main-Methode
Java:
public class Test {
public static void main(String[] args) {
//Rennteams.txt einlesen
TeamContainer tc = new TeamContainer();
tc.readTeams();
// Test obs geklappt hat
System.out.println("Teams:\n");
for(Team members:tc.getAllTeamMember())
System.out.println(members);
}}
Java:
public abstract class Team {
private String lastName;
private String firstName;
public Team(String lastName, String firstName){
this.lastName=lastName;
this.firstName=firstName;
}
Java:
public class Mechanic extends Team
{
private String job;
public Mechanic(String lastName, String firstName,String job){
super(lastName, firstName);
this.job=job;
}
}
Java:
public class TeamContainer {
private Collection<Team> members;
public TeamContainer() {
this.members = new ArrayList<Team>();
}
public void readTeams() {
FileReader file = null;
Scanner sc = null;
try {
file = new FileReader("Rennteams.txt");
sc = new Scanner(file).useDelimiter(";");
} catch (FileNotFoundException e) {
System.err.println("Datei nicht gefunden");
}
this.members.clear();
while (sc.hasNext()) {
this.members.add(
new Team( // hier ist der "Cannot instantiate the type Team" - Fehler
sc.next(), // lastName;
sc.next() // firstName;
));
}
try {
file.close();
} catch (IOException e) {
System.err.println("Datei nicht gefunden");
}
}
public boolean addMember(Team member) {
return this.members.add(member);
}
public Collection<Team> getAllTeamMember() {
return this.members;
}
}
Falls noch Fragen sind oder Infos fehlen einfach schreiben.