Instanciar um array

Pessoal, estou tendo dificuldade para chamar um array na classe principal quando eu encapsulo os atributos, por exemplo sem encapsular da certo, ex:

public class Teste{
String[] array = new String[3]
array[0] = "1";
array[1] = "2";
array[2] = "3";
}

Quando eu instancio na classe principal eu instancio o objeto e seleciono a posição do vetor que quero acessar, ex:

public static void main(String[] args) {
Teste vetor = new Teste();
System.out.println(vetor.array[0]);
}

porem se encapsular os dados eu não posso acessar o atributo livremente, e nos métodos get e setter eu não consigo escolher a posição do vetor que quero acessar, pois eu chamaria o vetor desta forma:

System.out.println(vetor.getArray());
então onde que eu coloco a posição [0],[1],[2]? já tentei de todo jeito desde ontem e ainda não consegui acertar

Olá Davi,

Você pode chamar desta maneira: vetor.getArray()[0];
Poste o resultado.

não deu certo…
tentei setar o valor da array:

vetor.setArray(“testando”)[0];

vou postar todo o código que usei tbm…

public class Teste {

private String[] array = new String[3];
public String[] getArray() {
    return array;
}
public void setArray(String[] array) {
    this.array = array;
}

}

public static void main(String[] args) {
Teste vetor = new Teste();
vetor.setArray(“testando”)[0];
}
}

Nesse caso, o set serve para setar o Array e não o elemento contido nele.
Sendo assim, você setará da seguinte maneira:

Teste vetor = new Teste();
vetor.getArray()[0] = "teste";

Imprimindo o valor "teste":
System.out.println(vetor.getArray()[0]);

Deu certo, muito obrigado. Porém eu queria compreender melhor este conceito, vc disse que com o set eu estaria setando o array, setando oque nele? já que eu não estou alterando os elementos dele

Você estaria setando um array na sua variável array.

Teste vetor = new Teste(); // Vetor é uma classe, que dentro contém um array chamado array.

Usar vetor.setArray(); você estaria setando um array para ser o array da classe teste que se chama array.

Exemplo:

String[] array2 = new String[3];
vetor.setArray(array2);

Agora o array da classe teste é igual ao array2 que você criou no main.