2016-09-26 3 views
0

Medicos 클래스에서 5 개의 객체를 만들고 Enfermeras 클래스에서 5 개의 객체를 생성했습니다. 이미 생성 된 이러한 요소를 배열에 어떻게 추가합니까?Java Array에 이미 생성 된 객체를 추가합니다.

배열 클래스 :

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); 
} 

임 정말 리터 여기에 오지 말고 적절한 답을 찾지 못하는 것 같아 도움을 주시면 대단히 감사하겠습니다.

답변

0

먼저 변수 이름을 camelcase로 유지하는 Java 명명 규칙을 따라야합니다.

둘째, 배열에 객체를 추가 다만, 배열 등의 각 요소에

ListaM[0] = Medico1; 

ListaM[1] = Medico2; 

0

당신이 그것을 할 수있는 많은 방법이 있습니다에. 그것을 할당한다 한 가지 방법은 공개 정적 인 Metodos 클래스에서 배열을 만드는 것입니다.

Medicos/Enfermeras 클래스에서 개체를 Metodos 클래스의 배열에 할당하면됩니다.

예컨대 Metodos 클래스 변경이

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

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

예컨대 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 클래스 자체에서 개체를 만들어야한다는 것입니다.

예컨대 Metodos 클래스에서.

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

Medico1, Medico2은 ... 정적이지 기본 필드로 decleared된다, 그래서 당신은 자신의 클래스의 인스턴스를 통해 액세스해야합니다.
두 개의 서로 다른 종류의 객체를 하나의 배열에 넣으려면 배열을 수퍼 클래스로 선언해야합니다 (예 : 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; 
     ... 
관련 문제