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。