Duvida com metodo


package classeteste;

public class Main {
public static class conta{
static double saldo;
static String nome;
    }
  
    public static void main(String[] args) {
    conta cnt;
    cnt = new conta();
    deposita(800);
    }
static void deposita(double quantidade){
this.saldo += quantidade;
}
}

Tou tentando mudar o atributo saldo com o This,mas a Ide ta acusando erro…,
eu fiz praticamente igualzinho a apostila Caellum,mas tem alguma coisa erra aew …
Ajuda galera =P

Você esta tentando acessar o atributo de uma inner class…

Instancie a inner class, depois atribua um novo valor ao atributo, algo do tipo:

conta c = new conta(); c.saldo += quantidade;

Abraços

O problema é esse “praticamente”. Provavelmente você tá misturando os conceitos da apostila com a dica dos métodos static do outro tópico, e aí você vai se embananar mesmo. Vamos lá! Qualquer membro de classe declarado static é relativo a toda a classe, e não a um objeto específico, podendo inclusive ser acessado pelo nome da classe. Sendo assim, você não pode usar this dentro de um contexto estático, justamente porque this é uma referência a um objeto atual.