No caso de arrays, o lenght, é um atributou ou um método? Pergunto pois o mesmo é utilizado sem o parenteses, algo que o designaria como método do objeto array, correto?
Abaixo, um exemplo megasimples:
importjava.util.*;importjavax.swing.*;/** * * @author User */publicclassMain{publicstaticvoidmain(String[]args){String[]nomes={"jose","maria"};JOptionPane.showMessageDialog(null,""+nomes.length);}}
quando você chama algum método você sempre vai usar parenteses… com parâmetros ou não mas sempre vai usar.
denisspitfire
Atributo, pois…
quando voce cria uma classe
//Criação do objetoDogcachorro=newDog();//Atribuindo um peso ao cachorrocachorro.peso=20,5;System.out.println(cachorro.peso);
a saída tem que ser 20,5. Logo… o .lenght é um atribudo, de no caso um objeto… quando voce coloca um tamanho maximo, esse tamanho vai para lenght, se voce atribui valores.
ex: String [] nomes = {“jose”,“maria”};
ele deve ter um for, e vai contando quantas informações voce inseriu, então no final ele coloca o valor no lenght.
Espero ter escarecido como funciona. (E espero não estar errado! rs rs essa hora da manhã…).
FLW
fmachado.dev
Na verdade Denis, quando você tem um array, a variável length é alterada, em tempo de execução, cada vez que você adiciona um elemento.
por exemplo
String[]nomes={"jose","maria"};
quando o compilador ler essa linha, e vai gerar um código, que é reconhecido pela maquina virtual, que vai dizer a máquina virtual o seguinte:
Reserva um espaço na memória para uma variável, tipo Array de Strings;
Adiciona a constante “jose”;
Incrementa um na variável length do array;
Adiciona a constante “maria”; e
Incrementa um na variável length do array. (de novo)
então o “length” é um atributo do array que é controlado pelo Java.
espero ter sido claro, se houver algum erro, por favor me corrijam =P