tenho o seguinte código em Java no IDE Netbeans 7.1.1 :
public class Narrativa {
private String historia;
public Narrativa() {
historia = "oi";
Cenario cenario = new Cenario();
EntradaDeDados entrada = new EntradaDeDados();
Personagem personagem = new Personagem();
Desafio d = new Desafio();
}
}
Na main :
public class View {
public static void main(String args[]){
Narrativa padrao = new Narrativa();
}
}
Minha lógica foi a seguinte, criar um metodo construtor na classe Narrativa onde fossem levantados/criados todos os objetos que eu vou precisar, e na main, instancia-la e poder acessar os objetos criados, PORÉM ai é que vem a minha desgraça, nao consigo de jeito nenhum acessar nenhum daquele objetos criados :shock:
Na verdade, o ÚNICO que consigo é o “historia”, sendo assim até testei ele, chamando seu metodo get e lhe imprimindo, e o resultado foi “oi”, o que indica que o metodo está funcionando e os objetos em questao foram criados, teoricamente…
Podem me ajudar nessa ?
Preciso resolver isso urgentemente… ;ssss
Vejo que é novo no fórum. Bem, eu não sou moderador mas gostaria de te dar umas dicas antes de te ajudar na tua dúvida:
Sem tags desnecessárias no título (“Ajudaaaa”,“urgente!!1!”,“Preciso de ajuda”), apenas seja claro e deixe sua dúvida no corpo do post
Use as tags Code para postar código
Mas, enfim, vamos à dúvida:
Primeiro, o porquê de você não conseguir acessar “historia” é por que é uma string do tipo private. Se algum tipo de dado é do tipo private, esse tipo só poderá ser acessado diretamente pelo próprio objeto da classe. Para acessá-lo indiretamente, use getters e setters:
[code]public void setHistoria(String i){
historia = i;
}
public String getHistoria(){
return historia;
}[/code]
Com isso, você poderá modificar e utilizar membros do tipo private de fora do objeto (No seu caso, no método main)
Segundo, o porquê de você não conseguir acessar os objetos do tipo “Cenario”, “EntradaDeDados”, “Personagem” e “Desafio”: todos eles foram declarados no construtor da classe Narrativa, então todos eles só poderão ser utilizados dentro do construtor. Assim que o construtor tenha sido finalizado, esses objetos serão destruídos e você não terá mais acesso. Para ter acesso a eles por fora, declare-os fora do construtor da classe, junto de “private String historia”. Utilize também os getters e setters, são boas práticas de programação
Por fim, se tiver tirado a dúvida, ponha “[RESOLVIDO]” no título do tópico