Java 如何将数据从主类移动到抽象类?

Java 如何将数据从主类移动到抽象类?,java,abstract,Java,Abstract,好的,我正在做一个程序,收集关于员工的信息,然后根据用户希望他们如何分类来测试他们。我已经成功地创建了带有循环的数组来存储这些信息,但是分配要求我使用一个带有两个子类的抽象类来存储员工信息。所以我的问题是,我如何将数据移动到这些抽象类来准备排序和其他工作 import java.util.Scanner; import java.util.ArrayList; public class Assignment55_000848913 { public static void main(St

好的,我正在做一个程序,收集关于员工的信息,然后根据用户希望他们如何分类来测试他们。我已经成功地创建了带有循环的数组来存储这些信息,但是分配要求我使用一个带有两个子类的抽象类来存储员工信息。所以我的问题是,我如何将数据移动到这些抽象类来准备排序和其他工作

import java.util.Scanner;
import java.util.ArrayList;


public class Assignment55_000848913
{
  public static void main(String[] args)
  {
    Scanner in = new Scanner(System.in);
    ArrayList<String> Names       = new ArrayList<String>();
    ArrayList<String> Department  = new ArrayList<String>();
    ArrayList<String> Designation = new ArrayList<String>();
    ArrayList<Float>  Salary      = new ArrayList<Float>();
    String Continue = "y";

    //******************************************************//

    do
{
   System.out.println("Enter Employee Name: ");
   String x = in.next();
   Names.add(x);

   System.out.println("Enter Employee Designation ('temporary or permanent'): ");
   String y = in.next();
   Designation.add(y);

   System.out.println("Enter Employee Department: ");
   String z = in.next();
   Department.add(z);

   System.out.println("Enter Employee Salary: ");
   float i = in.nextFloat();
   Salary.add(i);

   System.out.println("Do you wish to add another employee? ('y'/'n'): ");
   Continue = in.next();
}
while(Continue.equals("y"));


  }

  public abstract class Employee
  {
  ////////
  }

  public class TempEmployee extends Employee
  {
    /////
  }

  public class PermEmployee extends Employee
  {
    /////
  }




}

尝试在抽象类中存储/创建列表,首先使用适当的访问器,而不是在主类中。通过这种方式,您可以创建一个temp employee或perm employee对象,然后将输入信息直接存储在实例化对象时创建的列表中,该列表将存储在employee类中。。希望这有帮助

您需要将通用信息:姓名、部门、薪资作为字段存储在抽象类中。然后,在获取输入数据时,根据输入名称创建新的TempEmployee或PermEmployee。您可以将所有这些employee对象添加到ArrayList中,因为PermEmployee和TempEmployee都继承自employee。

将所有字段移动到employee类,并在此类中添加一些排序方法和其他内容。您可以将这些方法抽象为bu,在这种情况下,您必须在子类中提供定义

创建两个子类,如TempEmployee和PermemloyeInherit Employee类


实际上有很多方法可以做到这一点。

那么,你是说我在employee抽象类中进行arraylist声明,并将所有输入提示也移到employee抽象类中?然后我创建了另一个列表,比如Ops抱歉,例如xxx是新的临时雇员;将输入提示保留在main中。然后根据输入创建新类。您将需要向类构造函数添加参数,以便将输入数据传递给它们,我将创建此数组列表的类型是什么?不确定您的意思-我建议在我的回答中使用Employee类型:ArrayList。您可以将PermEmployee和TempEmployee对象添加到此数组中,因为这两个类都扩展了Employee。