Olá pessoal, sou iniciante em Java e também em POO, já vi alguma coisa de Java na faculdade mas bem pouco, sem contar que boas práticas e metodologias passam longo dos ensinamentos passados em faculdade, por isso gosto de estudar por conta através de livros e apostilas.
Estou iniciando meus estudos em Java através da apostila FJ11 da Caelum, que a maioria deve conhecer, e estou seguindo os exemplos passados, construindo as classes passadas na apostila, referente a um pequeno sistema bancário.
Porém nos exemplos passados na apostila é feito acesso direto a objetos e não através de métodos (é pq estou no começo ainda, acredito que depois eles devem melhorar as coisas utilizando os conceitos da OO) e eu já comecei implementar os exemplos da apostila usando um pouco de encapsulamento, classes entidades e também classes de negócio, alguns conceitos que tenho aprendido no meu estágio com C#.
Pois bem, estou com um erro, vou postar as classes que criei aqui e depois o erro que acontece.
Modelo de classe Contapackage caelum;
public class Conta {
//Atributos
private int numero;
private String nome;
private double saldo;
private double limite;
//Getters e Setters
public int getNumero(){
return numero;
}
public void setNumero(int numero){
this.numero = numero;
}
public String getNome(){
return nome;
}
public void setNome(String nome){
this.nome = nome;
}
public double getSaldo(){
return saldo;
}
public void setSaldo(double saldo){
this.saldo = saldo;
}
public double getLimite(){
return limite;
}
public void setLimite(double limite){
this.limite = limite;
}
}
Classe de Negócio
package caelum_negocio;
import caelum.Conta;
public class negocioConta {
public negocioConta(Conta conta){
public void Saque(double valorSaque){
double novoSaldo = conta.getSaldo();
novoSaldo = (novoSaldo - valorSaque);
conta.setSaldo(novoSaldo);
}
public void Deposito(double valorDeposito){
double novoSaldo = conta.getSaldo();
novoSaldo = (novoSaldo + valorDeposito);
conta.setSaldo(novoSaldo);
}
}
}
E tem também uma classe principal onde vou passar valores via hard code e instanciar essa classe de negócio para fazer a mágica. Porém, nesta classe, o Java está identificando Saque e Deposito como variáveis, e são métodos....Ele diz "void is an invalid type for the variable Saque" e a mesma coisa para Deposito. E após fechar os parênteses dos parâmetros, ele fica esperando ponto e vírgula. Isso aconteceu depois que coloquei o método construtor, antes nessa classe, antes dos métodos eu colocava : "Conta conta = new Conta();"
E aí não dava nenhum erro, mas como essa classe vai receber a conta via parâmetro aí criei o método construtor para essa classe receber uma conta de outro lugar...Alguém sabe o que está acontecendo, podem me ajudar?
Muito obrigado
Abraços