Olá, estou trabalhando em um código, para matéria de programação orientada a objetos. É um projeto evolutivo, a cada novo ensinamento devemos aplicar em nosso código. Dessa vez eu deveria aplicar Abstract no meu código, porem quando aplico ele, minha classe “Banda” tem o seguinte erro:
ShowTime.java:7: error: Banda is abstract; cannot be instantiated
Banda b1 = new Banda();
^
1 error
Mas até a ai eu entendo, sei que uma classe Abstrata não pode ser instanciada, então faço o mais obvio nessa situação de quem vê o erro, removo oque foi instanciado da “Banda” da minha classe “ShowTime”.
Mas fazendo isso, quando faço o teste do código, é me apresentado MUITOS erros, vou colocar alguns aqui, pois eles são do mesmo tipo praticamente e gerados pelo mesmo problema.
ShowTime.java:16: error: cannot find symbol
b1.setNome(entrada.entDados("Diga o nome da banda: "));
^
symbol: variable b1
location: class ShowTime
ShowTime.java:17: error: cannot find symbol
b1.setQtdIntegrantes(Integer.parseInt(entrada.entDados("Diga a quantidade de integrantes da banda: ")));
^
symbol: variable b1
location: class ShowTime
Oque eu quero saber, é como vou poder fazer as entradas via teclado e exibir para o usuário as entradas, pois tudo isso é feito através da classe “ShowTime” e agora com abstract não consigo mais realizar isso. Se alguém puder ajudar, OBRIGADO!, vou estar deixando partes das classes ShowTime e Banda abaixo
CLASSE BANDA:
public abstract class Banda {
private String nome = "";
private int qtdIntegrantes = 0;
private String nomeIntegrantes = "";
private String mscInfluente = "";
private Informacoes info = new Informacoes();
private Discografia disc = new Discografia();
private Turnes turn = new Turnes();
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getQtdIntegrantes() {
return qtdIntegrantes;
}
public void setQtdIntegrantes(int qtdIntegrantes) {
this.qtdIntegrantes = qtdIntegrantes;
}
public Informacoes getInfo() {
return info;
}
public void setInfo(Informacoes info) {
this.info = info;
}
}
CLASSE SHOWTIME:
public class ShowTime {
public static void main(String arg[]) {
Entrada entrada = new Entrada();
Integrante integran = new Integrante();
//=============================================================================
b1.setNome(entrada.entDados("Diga o nome da banda: "));
b1.setQtdIntegrantes(Integer.parseInt(entrada.entDados("Diga a quantidade de integrantes da banda: ")));
b1.setNomeIntegrantes(entrada.entDados("Diga o nome de cada integrante: "));
b1.setMscInfluente(entrada.entDados("Diga qual a musica mais influente ou famosa da banda: "));
//=============================================================================
b1.getInfo().setEstilo(entrada.entDados("\n\n\nDiga o estilo musical da banda: "));
b1.getInfo().setLocalFundacao(entrada.entDados("Diga o local de fundacao da banda: "));
b1.getInfo().setAnoFundacao(Integer.parseInt(entrada.entDados("Diga o ano de fundacao da banda: ")));
//=============================================================================
//=============== SOBRE A BANDA ===========
System.out.println("\n\n>>>>>> INFORMACOES SOBRE A BANDA <<<<<<");
System.out.println("Nome da Banda: " + b1.getNome());
System.out.println("Quantidade integrantes: " + b1.getQtdIntegrantes());
System.out.println("Nome dos integrantes: " + b1.getNomeIntegrantes());
System.out.println("Musica mais influente ou famosa: " + b1.getMscInfluente());
//========== INFORMAÇÕES COMPLEMENTARES ===============
System.out.println("\n\n>>>>>> INFORMACOES COMPLEMENTARES <<<<<<");
System.out.println("nEstilo musical: " + b1.getInfo().getEstilo());
System.out.println("Local de fundacao: " + b1.getInfo().getLocalFundacao());
System.out.println("Ano de fundacao: " + b1.getInfo().getAnoFundacao());
integran.exibeEncerrar("FINAL!!!");
}
}