![](/img/trans.png)
[英]Exception in thread “main” java.lang.NoSuchMethodException:
[英]Exception in thread “main” java.lang. NoSuchMethodException
解决了以上问题:我想显示学生的信息。 我创建了父类People,并继承了Student类。
public class ListPeople {
protected String name;
List<ListPeople> listPeople = new ArrayList<ListPeople>();
public void setName() {
Scanner input = new Scanner(System.in);
for (int i = 1; i < 2; i++) {
ListPeople people = new ListPeople(); //object of parent class
System.out.print("Enter your Name: ");
people.name = input.nextLine();
listPeople.add(people);
}
}
public class ListStudent extends ListPeople {
public void getName() {
for (ListPeople people : listPeople) {
System.out.print("Name of Student:");
System.out.print(people.name);
}
}
}
public class ListMain {
public static void main(String[] args) {
ListPeople people = new ListStudent();
people.setName();
ListStudent student = new ListStudent();
student.getName();
}
}
我必须创建学生和老师两种对象。 我继承了方法setName来输入,但是在子类中覆盖了getName来显示各自的名称。
您的错误:
这将创建ListStudent类型的新实例,这意味着您的listPeople最初为空。
ListStudent学生=新的ListStudent();
student.getName();
//稍加修改
import java.util.*;
class ListPeople {
protected String name;
protected List<ListPeople> listPeople = new ArrayList<ListPeople>();
public void setName() {
Scanner input = new Scanner(System.in);
for (int i = 1; i < 2; i++) {
ListPeople people = new ListPeople(); //object of parent class
System.out.print("Enter your Name: ");
people.name = input.nextLine();
listPeople.add(people);
}
}
public void getName(){
}
}
class ListStudent extends ListPeople {
public void getName() {
for (ListPeople people : listPeople) {
System.out.print("Name of Student:");
System.out.println(people.name);
}
}
}
public class ListMain {
public static void main(String[] args) {
ListPeople people = new ListStudent();
people.setName();
people.getName();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.