[RESOLVIDO] Vetor de objetos em Java

Criei um vetor que armazena os dados digitados no teclado e os utiliza como parametros na criação de um objeto.

Porém quando imprimo dois objetos, por exemplo, ou seja, quando crio mais de um vetor, o codigo armazenas apenas os valores do ultimo objeto criado para as duas posiçoes de memoria do vetor.

Como resolvo isso ? Como utilizar o scanner do java para armazenar esses valores ?

classe “cidade”

public class Cidade {
  // Atributos > Define as características dos objetos da classe
  private static int codigo;
  private static String descricao;
  private static String estado;
  private int quantidade;
  
  
   // Construtor > organiza as ações da classe quando é criado um objeto
   public Cidade(int c, String n, String e){
    codigo = c;
    descricao = n;
    estado = e;
   }
   
   // Métodos Get e Set > utilizados para armazenar e imprimir dados
   public void setCodigo(int c){
    codigo = c;
   }
  
   public static int getCodigo() {
    return codigo;   
   }
  
   public void setDescricao(String n){  
     descricao = n;  
   }
  
   public static String getDescricao() {
    return descricao;    
   }
  
   public void setEstado(String e){
    estado = e;
   }
  
   public static String getEstado() {
    return estado;   
   }

classe teste, utilizada para criar um vetor de objetos do tipo cidade

public class TesteFun4Study {
  
 public static void main(String[] args){

   Cidade cidades[] = new Cidade[2];          // Objeto cidades 
   Estudante estudantes[] = new Estudante[4]; // Objeto estudantes
  
   System.out.println("+---------------------------------------------+");
   System.out.println("|              Cadastro de Cidades            |");
   System.out.println("+---------------------------------------------+");
   
   System.out.println("+---------------------------------------------+");
    cidades[0] = new Cidade
    (Teclado.leInt(" Código da Cidade     :  "),
     Teclado.leString(" Nome da Cidade       :  "),
     Teclado.leString(" Estado (UF)          :  "));
    
   
   System.out.println("+---------------------------------------------+");
   
   cidades[1] = new Cidade
    (Teclado.leInt(" Código da Cidade     :  "),
     Teclado.leString(" Nome da Cidade       :  "),
     Teclado.leString(" Estado (UF)          :  "));
   
   System.out.println("+---------------------------------------------+");
   System.out.println();
   System.out.println();
   
   
   System.out.println(z);
   
   
  
 
   System.out.println("+---------------------------------------------+");
   System.out.println("|              Dados Cadastrados              |");
   System.out.println("+---------------------------------------------+");
   System.out.println(); 
   
   System.out.println("+---------------------------------------------+");
   System.out.println("|                   Cidades                   |");
   System.out.println("+---------------------------------------------+");
   

    System.out.println("+---------------------------------------------+");
    System.out.println("Código da Cidade     :  " + cidades[0].getCodigo());
    System.out.println("Nome da Cidade       :  " + cidades[0].getDescricao());
    System.out.println("Estado (UF)          :  " + cidades[0].getEstado());  
    System.out.println("+---------------------------------------------+");
    
    System.out.println("+---------------------------------------------+");
    System.out.println("Código da Cidade     :  " + cidades[1].getCodigo());
    System.out.println("Nome da Cidade       :  " + cidades[1].getDescricao());
    System.out.println("Estado (UF)          :  " + cidades[1].getEstado());  
    System.out.println("+---------------------------------------------+");
    
    
 

}
}

Remova os static

Quando compilo e testo usando a classe de teste
da esse erro java.lang.NullPointerException
acredito que seja por ter tirado o Static

Sim, agora você está mais perto da solução. Qual a linha onde a exception acontece agora?

Retirar o static resolveu o problemas dos vetores.

Eu tenho uma terceira classe ligada a essas duas.
Quando compilo as três juntas da esse exception.

Como faço para para imprimir em uma classe um objeto de outra classe sem utilizar o static ?

Estou imprimindo os parametros do objeto usando get.

Da mesma forma como você fez com o endereço, usando get.

eu fiz isso e aparece o exception.

Porque você está tentando acessar uma referência nula. O problema não é o static nem o get, mas o programa tentando chamar um método em um null. Tem que descobrir o porquê de estar null, você provavelmente esqueceu de inicializar alguma coisa.

Consegui resolver, muito obrigado !