Java 有没有一种方法可以将一个对象从一个类复制到另一个完全不同的类中的对象?

Java 有没有一种方法可以将一个对象从一个类复制到另一个完全不同的类中的对象?,java,class,object,Java,Class,Object,我试图弄清楚,如果可能的话,如何将一个对象复制到另一个对象中。这并不像我的意思那么简单,因为我试图将对象从类B复制到类A的对象中 我将尝试展示代码示例 public class A { ArrayList<String> areaList = new ArrayList<> } 下面是下一节课: public class C { B teachers = new B[5]; } 我想创建多个不同的领域,有多个不同的老师。在第一区,假设是数学,我想要4个不同

我试图弄清楚,如果可能的话,如何将一个对象复制到另一个对象中。这并不像我的意思那么简单,因为我试图将对象从类B复制到类A的对象中

我将尝试展示代码示例

public class A {
   ArrayList<String> areaList = new ArrayList<>
}
下面是下一节课:

public class C {
   B teachers = new B[5];
}

我想创建多个不同的领域,有多个不同的老师。在第一区,假设是数学,我想要4个不同的老师。我正在寻找的只是名称,数量和教师的工资,所以3个属性。在第二区,假设是英语,我想进入5名英语教师。但我仍然希望能够引用我的第一个区域,即区域[0],并在我将英语教师添加到区域[1]后,看到我在该列表中插入的原始4名教师。我不知道该怎么做,甚至不知道该怎么做,因为当我试图将它们设置为相等时,它会编译一个错误,因为它们在技术上来自不同的类。我想看看我能不能不延长上课时间就做到这一点。

我想你的意思是这样的,嗯?如果您在两个不同的区域添加一名教师,则该教师将是同一名教师,因为您将添加对列表的引用

public class MainClass {
   public static void main(String[] args) {
        ArrayList<Area> areasList = new ArrayList<>(10);
        Area math = new Area("math");
        areasList.add(math);
        math.addTeacher(new Teacher("Mr. Freeman", 3500f));
        math.addTeacher(new Teacher("Mr. Greedy", 3200f));
    }
}

class Area {
    private String name;
    private List<Teacher> teachersList;

    public Area(String name) {
        this.name = name;
        this.teachersList = new ArrayList<Teacher>(10); //define what type of list do you want
    }

    public String getName() {
        return name;
    }

    public List<Teacher> getTeachersList() {
        return teachersList;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void addTeacher(Teacher teacher) {
        this.teachersList.add(teacher);
    }

    public void removeTeacher(Teacher teacher) {
        this.teachersList.remove(teacher);
    }

}

class Teacher {
    String name;
    float salary;

    public Teacher(String name, float salary) {
        this.name = name;
        this.salary = salary;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public float getSalary() {
        return salary;
    }

    public void setSalary(float salary) {
        this.salary = salary;
    }
}
public类MainClass{
公共静态void main(字符串[]args){
ArrayList areasList=新的ArrayList(10);
区域数学=新区域(“数学”);
区域列表。添加(数学);
数学教师(新教师(“弗里曼先生”,3500f));
数学老师(新老师(“贪婪先生”,3200f));
}
}
班级面积{
私有字符串名称;
私人名单教师名单;
公共区域(字符串名称){
this.name=名称;
this.teachersList=newarraylist(10);//定义您想要的列表类型
}
公共字符串getName(){
返回名称;
}
公共列表GetteacherList(){
返回教师名单;
}
公共void集合名(字符串名){
this.name=名称;
}
公共教师(教师){
this.teachersList.add(教师);
}
公共无效移除教师(教师){
此.teachersList.remove(教师);
}
}
班主任{
字符串名;
浮动工资;
公共教师(字符串名称、浮动工资){
this.name=名称;
这个。薪水=薪水;
}
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共浮动工资(){
返回工资;
}
公共无效固定工资(浮动工资){
这个。薪水=薪水;
}
}

为什么不在班级
区域添加一个
教师的
列表
?你能按照他们的意思来命名班级吗?是否有
教师
班级和/或
区域
班级?试图将自由文本中的需求映射到实际代码是非常令人困惑的。
public class MainClass {
   public static void main(String[] args) {
        ArrayList<Area> areasList = new ArrayList<>(10);
        Area math = new Area("math");
        areasList.add(math);
        math.addTeacher(new Teacher("Mr. Freeman", 3500f));
        math.addTeacher(new Teacher("Mr. Greedy", 3200f));
    }
}

class Area {
    private String name;
    private List<Teacher> teachersList;

    public Area(String name) {
        this.name = name;
        this.teachersList = new ArrayList<Teacher>(10); //define what type of list do you want
    }

    public String getName() {
        return name;
    }

    public List<Teacher> getTeachersList() {
        return teachersList;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void addTeacher(Teacher teacher) {
        this.teachersList.add(teacher);
    }

    public void removeTeacher(Teacher teacher) {
        this.teachersList.remove(teacher);
    }

}

class Teacher {
    String name;
    float salary;

    public Teacher(String name, float salary) {
        this.name = name;
        this.salary = salary;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public float getSalary() {
        return salary;
    }

    public void setSalary(float salary) {
        this.salary = salary;
    }
}