我最近開始編程,我忙於繼承,多態和重寫。現在我只是做了這個程序,出於某種原因,它不起作用。 。 編譯器強調「=新的ArrayList();但我不知道爲什麼我不明白爲什麼這個程序不工作。多態性
的代碼如下:
超類:人
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);
}
}
子類:教師
public class Teacher extends Person {
public Teacher(String firstName, String lastName) {
super(firstName, lastName);
}
public void print() {
System.out.println("Professor Details: ");
super.print();
}
}
小類學生:
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);
}
}
主類:(在我初始化數組列表時,由於某種原因它不起作用。 (脂肪是在編譯器錯誤:的ArrayList()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();
}
}
}
任何幫助表示讚賞
Java是區分大小寫的。 'ArrayList'!='Arraylist'。您還想避免使用原始類型,但這是一個稍微單獨的問題。 –