Toda vez que uma conta é criada é necessário enviar para a variável valorTotalContas o valor que essa conta será inicializada, dessa forma esse valor será somado com o valor do objeto criado anteriormente.
Existem atributos de instância (de objetos) e atributos de classe. Uma variável de objeto é aquele que é criada um para cada objeto da classe. Nesse caso, cada objeto poderá ter um estado (valor) que lhe é próprio e independente de outros objetos de uma mesma classe. Por exemplo, se a classe Conta
tem uma variável (ou campo) numeroOp
(número da operação) uma conta (instância) pode ter o valor “003”, outra conta o valor (estado) “010” e assim por diante. No entanto, quando você quer o valor seja o mesmo para qualquer que seja a instância da classe, você deve declarar que o campo pertence à classe e não aos seus objetos. Para isso, no Java, indica-se que o atributo é estático (static
).
Nesse caso em particular, suponho eu que totalDeContas
seja o número de contas possíveis no banco. Com efeito, o estado dessa variável dever ser o mesma para qualquer conta criada. Então, é interessante manter esse valor como um campo da classe e não do objeto.
Para fins de consulta:
1 - Variáveis de instância (objetos), Java Como Programar 8, pág. 58
2 - Variáveis de classe, Java Como Programar 8, pág. 158.