Como obter o mesmo efeito do length (array)

Tenho uma duvida que talvez seja tola, mas eu não conseguí reproduzir.

Gostaria de saber como fazer para conseguir algo que existe em um array (variavel membro “length”), ou seja uma variável publica (acho que é final), mas que tem um valor que não é inicializado na declaração (acredito eu), pois o tamanho do array é definido depois da alocação do array.

Se eu tentar fazer isto eu não consigo, o compilador vai chiar.
Mas como conseguiram fazer isto ???

[]s, Welington B. Souza

Uma variável final só se torna MESMO final quando o primeiro valor é atribuído a ela. Nada te impede de fazer o seguinte:

[code]public class Foo {

public final int length;

public Foo(int length) {
this.length = length;
}

}[/code]

Cappicci? :slight_smile:

Agora entendí pq não conseguí, é que a inicialização só funciona se for no constructor.

valeus :wink:

exato, as constantes devem ser inicilizadas antes do final do construtor.