繁体   English   中英

线程“ 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来显示各自的名称。

您的错误:

  • 您不能在Java文件中定义一个以上的公共类
  • 这将创建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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM