Erro Construtor

4 respostas
Mavericks

Pq dá erro com esses construtores??

public void Rational(double numerador, double denominador) {   
		setRational (numerador, denominador);
    }   
	public void Rational(double numerador) {   
		setRational (numerador, 0);
    }
	public void Rational(double denominador) {   
		setRational (0, denominador);
    }

4 Respostas

kaique

Cara, isso que você escreveu não são construtores. Construtores não possuem um tipo de retorno. Caso eles realmente tiverem que ser construtores, retire a palavra void de todos eles.
Mas mesmo assim se não resolver, coloca aqui o seu erro pra poder ajudar…

[]'s.

F

e tbem você não pode declarar contrutores com a mesma assinatura.
por exemplo

public Rational(double numerador) {

setRational (numerador, 0);

}

public Rational(double denominador) {

setRational (0, denominador);

}

os dois construtores estão recebendo um atributo do tipo double, portanto é a mesma assinatura por isso o seu codigo não compila, eu sugiro q vc crie uma classe numerador e outra denominador contendo um atributo cada do tipo double, com isso vc podera utilizar sem nenhum problema.

public Rational(Numerador numerador) {

setRational (numerador, 0);

}

public Rational(Denominador denominador) {

setRational (0, denominador);

}

T

Você está criando dois métodos com parâmetros iguais, ambos do tipo Double. A JVM não saberá dizer qual dos dois utilizar, independente dos nomes, afinal ela pra ela tanto faz o nome, o que importa é o tipo.

Acho que o melhor seria você ter um construtor vazio, e usar os set’s de cada atributo.

victorwss

O denominador nunca pode ser igual a zero.

Criado 28 de abril de 2008
Ultima resposta 29 de abr. de 2008
Respostas 4
Participantes 5