将已创建的对象添加到Java Array中

时间:2016-09-26 04:51:16

标签: java arrays eclipse matrix

我从Medicos类创建了5个对象,并从Enfermeras类中创建了5个对象,如何将这些已经创建的元素添加到数组中?

数组类:

public class Metodos {

    private Medicos [] ListaM = new Medicos [5];
    private Enfermeras [] ListaE = new Enfermeras [5];
    private Clinica [][] datos = new Clinica [12][30];

    public Metodos(){
        ListaM[0] = Medicos() = Medico1; 
    }
}

Medicos课程:

public class Medicos {

    private String Nombre;
    private long DPI;
    private String NIT; 
    private boolean Especialista; 
    private int nColegiado;
    private int salario; 

    public Medicos(String Nombre, long DPI, String NIT, boolean Especialista, 
            int nColegiado, int salario){ 
        this.Nombre=Nombre;
        this.DPI = DPI; 
        this.NIT = NIT ; 
        this.Especialista = Especialista; 
        this.nColegiado = nColegiado; 
        this.salario = salario; 
    }

    public String getNombre() {
        return Nombre;
    }
    public void setNombre(String nombre) {
        Nombre = nombre;
    }
    public long getDPI() {
        return DPI;
    }
    public void setDPI(long dPI) {
        DPI = dPI;
    }
    public String getNIT() {
        return NIT;
    }
    public void setNIT(String nIT) {
        NIT = nIT;
    }
    public boolean isEspecialista() {
        return Especialista;
    }
    public void setEspecialista(boolean especialista) {
        Especialista = especialista;
    }
    public int getnColegiado() {
        return nColegiado;
    }
    public void setnColegiado(int nColegiado) {
        this.nColegiado = nColegiado;
    }
    public int getSalario() {
        return salario;
    }
    public void setSalario(int salario) {
        this.salario = salario;
    }

    Medicos Medico1 = new Medicos("Juan Pérez", 1234567870101L, "6799652-3", true, 
            89098, 15000);

    Medicos Medico2 = new Medicos("Luis Gutiérrez", 9876543260101L, "8964547-3", false, 
            98554, 12000);

    Medicos Medico3 = new Medicos("Eduardo González", 5642871750101L, "8786456-6", true, 
            5653, 17000);

    Medicos Medico4 = new Medicos("Guadalupe Torres", 4562973920101L, "6799652-3", true, 
             10098, 17000);

    Medicos Medico5 = new Medicos("María Castillo", 569395290101L, "8765485-7", false, 
             67965, 13000);
} 

Enfermeras课程:

public class Enfermeras {

    private String Nombre;
    private long DPI;
    private String NIT; 
    private boolean Intensivista; 
    private int experiencia;
    private int salario; 

    public Enfermeras(String Nombre, long DPI, String NIT, boolean Intensivista, 
            int experiencia, int salario){ 
        this.Nombre=Nombre;
        this.DPI = DPI; 
        this.NIT = NIT; 
        this.Intensivista = Intensivista; 
        this.experiencia = experiencia; 
        this.salario = salario; 
    }

    public String getNombre() {
        return Nombre;
    }
    public void setNombre(String nombre) {
        Nombre = nombre;
    }
    public long getDPI() {
        return DPI;
    }
    public void setDPI(int dPI) {
        DPI = dPI;
    }
    public String getNIT() {
        return NIT;
    }
    public void setNIT(String nIT) {
        NIT = nIT;
    }
    public boolean isIntensivista() {
        return Intensivista;
    }
    public void setIntensivista(boolean intensivista) {
        Intensivista = intensivista;
    }
    public int getExperiencia() {
        return experiencia;
    }
    public void setExperiencia(int experiencia) {
        this.experiencia = experiencia;
    }
    public int getSalario() {
        return salario;
    }
    public void setSalario(int salario) {
        this.salario = salario;
    }

    Enfermeras Enfermera1 = new Enfermeras("Juana Lopez", 5643213450101L, "563269-K", false, 
            2, 6000);

    Enfermeras Enfermera2 = new Enfermeras("Lidia Mendez", 1246547850101L ,  "7654376-6" , true, 
            2, 9000);

    Enfermeras Enfermera3 = new Enfermeras("Miriam García", 6547854370101L, "9876456-8" , false, 
            14, 8000);

    Enfermeras Enfermera4 = new Enfermeras("Lorna Suarez", 569374160101L, "4567865-8" , true, 
            12, 10000 );

    Enfermeras Enfermera5 = new Enfermeras("Mariela Rodríguez",3254786540101L, "6789654-8" , false, 
            2, 8000 );
} 

我真的迷失在这里,似乎找不到合适的答案,非常感谢帮助。

3 个答案:

答案 0 :(得分:0)

首先,您需要遵循将变量名称保存为camelcase的java命名约定。

其次,将对象添加到数组只是将其分配给数组的每个元素,如

ListaM[0] = Medico1;

ListaM[1] = Medico2;

等等

答案 1 :(得分:0)

有很多方法可以做到。一种方法是在Metodos类中创建数组,公共静态。

因此,您可以从Medicos / Enfermeras类中将对象简单地分配到Metodos类的数组中。

e.g。对于Metodos类 改变这个

private Medicos [] ListaM = new Medicos [5];

public static Medicos [] ListaM = new Medicos [5];

e.g。为Medicos课程

Medicos Medico1 = new Medicos("Juan Pérez", 1234567870101L, "6799652-3", true, 
                    89098, 15000);

// After Creating the object, assign it        
Metodos.ListaM[0] =  Medico1 ;

另一种方法是,你应该只从Metodos类本身创建对象。

e.g。在Metodos课程中。

 public Metodos(){
      Medicos Medico1 = new Medicos("Juan Pérez", 1234567870101L, "6799652-3", true, 
                89098, 15000);
            ListaM[0] = Medico1 ; 
        }

答案 2 :(得分:0)

Medico1,Medico2 ...被删除为默认字段,而不是静态字段,因此您需要通过其类的实例访问它。
如果要将两种不同类型的对象放入一个数组中,则需要将数组解析为超类,例如Object

        Object[] objs = new Object[10];
        Medicos medicos = new Medicos("",0,"",false,0,0);
        objs[0] = medicos.Medico1;
        objs[1] = medicos.Medico2;
        ...
        Enfermeras enf = new Enfermeras("",0,"",false,0,0);
        objs[5] = enf.Enfermera1;
        ...