Ich habe vor kurzem angefangen zu programmieren und ich bin beschäftigt mit Vererbung, Polymorphismus und Überschreiben. Jetzt habe ich gerade dieses Programm gemacht und aus irgendeinem Grund funktioniert es nicht. . Der Compiler unterstreicht "= new Arraylist(); aber ich weiß nicht, warumIch verstehe nicht, warum dieses Programm nicht funktioniert. Polymorphismus
Der Code ist wie folgt:
Super-Klasse: Person
public class Person {
private String firstName;
private String lastName;
public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public void print() {
System.out.println("\t" + firstName + " " + lastName);
}
}
Subclass: Lehrer
public class Teacher extends Person {
public Teacher(String firstName, String lastName) {
super(firstName, lastName);
}
public void print() {
System.out.println("Professor Details: ");
super.print();
}
}
Unterklasse Student:
public class Student extends Person {
private int graduationYear;
private double gpa;
public Student(String firstName, String lastName, int graduationYear, double gpa) {
super(firstName, lastName);
this.graduationYear = graduationYear;
this.gpa = gpa;
}
public void print() {
System.out.println("Student Details: ");
super.print();
System.out.println("\t" + graduationYear);
System.out.println("\t" + gpa);
}
}
Hauptklasse: (Wo initialisiere ich die Arraylist, funktioniert es aus irgendeinem Grund nicht. (Fett ist ein Fehler in dem Compiler. Arraylist Personen = new Arraylist();
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
ArrayList<Person> persons = new Arraylist();
persons.add(new Student("Sam", "Young", 2017, 3.6));
persons.add(new Student("Dan", "Sella", 2012, 2.5));
persons.add(new Student("Kevin", "Cane", 2016, 2.7));
for(Person person : persons) {
person.print();
}
}
}
Jede Hilfe sehr geschätzt wird
Java ist case-sensitive. 'ArrayList'! =' Arraylist'. Sie möchten auch vermeiden, den Rohtyp zu verwenden, aber das ist ein etwas anderes Problem. –