Dúvida

4 respostas
DiegoMLins
Qual o erro existente nesse código? Porque ele está errado?

public static void main(String[] args) {

class Produto {

private String identificacao;

private double custoDeFabricacao;

Produto(String i,double c) { identificacao = i; custoDeFabricacao = c; }

abstract public String getIdentificacao() { return identificacao;}

abstract public void novoCusto(double nc);

}

4 Respostas

lucas_carvalho100

Diego tente criar um arquivo separado para a classe produto, vai ficar melhor... pq os métodos dentro do contruturo é abstrato?

Tente fazer assim:

class Produto {
			private String identificacao;
			private double custoDeFabricacao;

			Produto(String i, double c) {
				identificacao = i;
				custoDeFabricacao = c;
			}

			public String getIdentificacao() {
				return null;
			}

			public void novoCusto(double nc) {
			}
		}
lucas_carvalho100

Dentro do main, vc chama a classe produto e faz oq vc quer fazer…

marcelo.bellissimo

Muitas coisas... Vamos por etapas:

1º - Coloque seu código entre as tags 'code':
DiegoMLins:
public static void main(String[] args) {
        class Produto {
            private String identificacao;
            private double custoDeFabricacao;
            Produto(String i,double c) { identificacao = i; custoDeFabricacao = c; }
            abstract public String getIdentificacao() { return identificacao;}
            abstract public void novoCusto(double nc);
}
2º - Primeiro se abre a classe, pra depois abrir métodos dentro dela, assim:
class Produto {
    public static void main(String[] args) {
        //...
    }
}

3º - Você está declarando métodos abstratos, logo sua classe deve ser declarada como abstract

abstract class Produto {
    public static void main(String[] args) {
        //...
    }
}
4º - Não se coloca código em métodos abstratos:
// errado:
abstract public String getIdentificacao() { return identificacao;} 

// correto:
abstract public String getIdentificacao();
// ou
public String getIdentificacao() { return identificacao;}
Sua classe "correta" deve ficar mais ou menos assim:
abstract class Produto {

	private String identificacao;
	private double custoDeFabricacao;

	public Produto(String i, double c) {
		identificacao = i;
		custoDeFabricacao = c;
	}

	public static void main(String[] args) {
		//blablabla
	}

	public String getIdentificacao() {
		return identificacao;
	}

	abstract public void novoCusto(double nc);
}

Qual IDE você está usando pra programar? Bloco de notas? Não faça isso, use Eclipse, ou pelo menos NetBeans, todos esses erros seriam alertados para você pelo programa...

DiegoMLins

Obrigado pelas dicas…

Criado 7 de junho de 2010
Ultima resposta 7 de jun. de 2010
Respostas 4
Participantes 3