Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Exercicio 4 - 1º Capitulo Java e Orientação a Objetos

Olá, estou com um erro na classe TestaConta, o eclipse da o seguinte erro quando eu crio a classe: The public type TestaConta must be defined in its own file (O tipo de público TestaConta deve ser definido em seu próprio arquivo). Obrigado.

''' public class Conta {

protected double saldo;

private void atualiza(double taxa) {

this.saldo += this.saldo * taxa; }

private double getSaldo() { return this.saldo; }

private void deposita(double valor) {

this.saldo += valor; }

private void saca(double valor) {

this.saldo -= valor; }

public class ContaCorrente extends Conta {

public void atualiza(double taxa) {

this.saldo += (this.saldo taxa) 2; }

}

public class ContaPoupanca extends Conta {

public void atualiza(double taxa) {

this.saldo += (this.saldo taxa) 3; }

public void deposita(double valor) { this.saldo += valor - 0.10; } }

}

public class TestaConta {

public static void main (String args[]) {

} } '''

4 respostas

Boa tarde, creio que seja porque voce está definindo classes public no mesmo arquivo... classes com o modificador de acesso public devem ficar em um arquivo separado de mesmo nome.

Ou então utilize apenas class TestaConta{ }

Boa tarde!

Certo retirei o modficador public da classe TestaConta. Mas quando vou acessar as classes ara criar objetos ele pede para criar as classes como se eu não houvesse criado, exemplo:

''' class TestaConta {

public static void main (String args[]) {

Conta c = new Conta(); ContaCorrente cc = new ContaCorrente(); ContaPoupanca cp = new ContaPoupanca(); } } '''

Consigo criar o objeto do tipo Conta, mas do tipo ContaCorrente e ContaPoupanca eu não consigo...

Obrigado desde já.

solução!

Boa Tarde!

Tente tirar as classes filhas do escopo da classe conta. Feche um chave ("}") exatamente antes de

public class ContaCorrente extends Conta {

e delete a chave que estiver sobrando antes da classe TestaConta

Além disso acredito que os métodos saca, deposita, getSaldo deveriam ser public e não private.

Tente trabalhar com essas classes em arquivos separados.

Agora deu certo, mas tive que criar as classes ContaCorrente e ContaPoupanca sem o public... Não entendi direito o porque disso tudo mas vou procurar saber... Obrigado.