ae pessoal queria saber se é obrigatorio o uso do static qdo declaro um metodo… fiquei meio confuso agora, pq ja metodos que o uso do static… por exemplo:
public class Multi
{
public static void main(String args[]){
int array[][] ={{1,2,3},{4,5,6}};
System.out.println("valor array ");
outputArray(array); // exibe array1 por linha
}
//inicio do metodo
public static void outputArray(int array2[][]){
//faz um lop nas linhas
for(int row=0;row < array2.length;row++){
//faz um loop nas colunas
for(int column =0; column < array2[row].length; column++)
System.out.printf(" %d", array2[row][column]);
System.out.println();
}
}
}
se eu tirar o static do metodo da erro pq? qual a função mesmo de eu usar static…
Bem… pelo pouco que conheco… você estaria indo contra o conceito de orientação a objetos… nesse caso você poderia criar um outro objeto que tivesse tal método… sendo assim vc instancia o objeto e assim utiliza os seus métodos… pelo menos seria assim a minha implementação… com o modificar de acesso static permite que vc chame o método sem precisar instanciar um objeto dele… como no “public static void main…” ele não enxerga o método ao qual está chamando … espero ter tirado sua dúvida!!
+/- isso… na verdade vc teria q ter outra classe que tivesse o método ao qual vc quer chamar… entende… aí vc iria instanciar o objeto dentro da sua classe Multi… sem precisar colocar o método como static, exemplo:
public class Multi
{
public static void main(String args[]){
//Intancia um objeto da classe Output
Output obj = new Output();
int array[][] ={{1,2,3},{4,5,6}};
System.out.println("valor array ");
//Chama o método que pertence ao objeto obj
obj.outputArray(array); // exibe array1 por linha
}
}
// outra classe a qual você irá instanciar o objeto
public class Output{
public void outputArray(int array2[][]){
//faz um lop nas linhas
for(int row=0;row < array2.length;row++){
//faz um loop nas colunas
for(int column =0; column < array2[row].length; column++)
System.out.printf(" %d", array2[row][column]);
System.out.println();
}
}