No entiendo los static

Da
28 de Abril del 2006
Hola:

Tengo un problema; lo estoy pasando mal, me estoy volviendo loca!! Tengo una clase SudokuFrame en el cual declaro una matriz static, y en esa clase pongo numeros a la matriz. Luego tengo otra clase cambiarNumerosFrame y quiero que desde este pueda hacer cambios en la matriz, que tengo que hacer desde elcambiar numero? el static esta bien?

SudokuFrame.matriz[i][j]meterNumero();

o hacer una instancia, sudokuFrame suf = new SudokuFrame(); y luego suf.matrize[i][j].meter... me hace como si tubiese dos matrices, Y YO LO QUE QUIERO ES QUE DE LAS DOS CLASES ESCRIBA EN UNA MATRIZ!!!!!!!

GRACIAS; SOS!!!!!!


daarevalo
28 de Abril del 2006
Si tu llamas a una variable Static en una clase, cada vez que crees un objeto de esa clase esa variable se mantendra en su valor y puedes cambiarlo desde las clases donde lo referenciaste

Ej
class matrizPrincipal
{
static int matriz[][]={{1,2,3},{4,5,6},{7,8,9}};

public int[][] getMatriz()
{
return matriz;
}
}

entonces cuando tu crees un objeto desde otra clase por ejemplo:

class ejemplo
{
matrizPrincipal nuevaMatriz=new matrizPrincipal();
int matriz2=nuevaMatriz.getMatriz();
}

tambien podrias implementar un metodo en la clase principal para modificar el contenido de la matriz

Diego
28 de Abril del 2006
Si quieres cambiar los valores de una matriz desde otra clase, declara métodos de acceso set/get, pero ten en cuenta que si declaras una variable o método static, no podrás utilizar nada dependiente de ningún objeto, ni this, ni super, y que cualquier cambio del mismo en cualquier objeto afectará automáticamente a cualquier objeto de dicha clase o subclase del que hace el cambio.
Espero que te sirva.