Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我不知道';我不明白为什么这个程序不起作用。多态性_Java_Inheritance_Arraylist_Polymorphism_Overriding - Fatal编程技术网

Java 我不知道';我不明白为什么这个程序不起作用。多态性

Java 我不知道';我不明白为什么这个程序不起作用。多态性,java,inheritance,arraylist,polymorphism,overriding,Java,Inheritance,Arraylist,Polymorphism,Overriding,我最近开始编程,我忙于继承、多态性和重写。现在我刚做了这个程序,但由于某种原因它不起作用。 编译器在“=new Arraylist()下加下划线;但我不知道为什么 代码如下: 超级班:人 public class Person { private String firstName; private String lastName; public Person(String firstName, String lastName) { this.firstName = firstName;

我最近开始编程,我忙于继承、多态性和重写。现在我刚做了这个程序,但由于某种原因它不起作用。 编译器在“=new 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);
}
}
Main类:(在初始化arraylist的地方,由于某种原因它不起作用。(Fat是编译器中的一个错误:arraylist persons=newarraylist()

公共类主{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){
ArrayList persons=新建ArrayList();
新增(新学生(“Sam”,“Young”,2017年,3.6));
新增(新学生(“Dan”,“Sella”,2012年,2.5));
新增(新学生(“凯文”,“凯恩”,2016年,2.7));
用于(人:人){
person.print();
}
}
}

非常感谢您的帮助。

ArrayList
初始化如下:

ArrayList<Person> persons = new ArrayList<>();
arraylistpersons=new ArrayList();
或者,如果您使用的是低于Java SE 7的版本:

ArrayList<Person> persons = new ArrayList<Person>();
arraylistpersons=new ArrayList();

请注意
(菱形)和ArrayList。

ArrayList
的初始化如下:

ArrayList<Person> persons = new ArrayList<>();
arraylistpersons=new ArrayList();
或者,如果您使用的是低于Java SE 7的版本:

ArrayList<Person> persons = new ArrayList<Person>();
arraylistpersons=new ArrayList();

请注意
(菱形)和ArrayList。

您应该创建
ArrayList
对象,如下代码所示:

ArrayList<Person> persons = new ArrayList<Person>();
arraylistpersons=new ArrayList();

在上面,您缺少在对象创建中添加

您应该创建
ArrayList
对象,如下代码:

ArrayList<Person> persons = new ArrayList<Person>();
arraylistpersons=new ArrayList();
在上面,您缺少在对象创建中添加的代码。

您的代码:

ArrayList<Person> persons = new Arraylist();
arraylistpersons=new ArrayList();
ArrayListpersons=newArrayList(); 你这里有个案例错误

试一试

arraylistpersons=new ArrayList();
如果仍然存在错误,请将java编译器级别升级到1.5或更高版本

您的代码:

ArrayList<Person> persons = new Arraylist();
arraylistpersons=new ArrayList();
ArrayListpersons=newArrayList(); 你这里有个案例错误

试一试

arraylistpersons=new ArrayList();

如果仍然存在错误,请将java编译器级别升级到1.5或更高版本

java区分大小写。
ArrayList
!=
ArrayList
。您还希望避免使用原始类型,但这是一个稍微独立的问题。java区分大小写。
ArrayList
!=
ArrayList
。您还希望避免使用原始类型,但这是一个稍微独立的问题。啊…我太乱了。对不起。谢谢你的帮助!啊…我太乱了。对不起。谢谢你的帮助!谢谢。我很乱。(谢谢。我很乱。)(