50 likes | 178 Views
Un miembro estático de una clase, solo puede a acceder a miembros estáticos de su propia clase. public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = 3.141592653589793;// miembro constante public float p;
E N D
Un miembro estático de una clase, solo puede a acceder a miembros estáticos de su propia clase public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = 3.141592653589793;// miembro constante public float p; public staticvoid miFun() // miembro método { double a = tmp * PI; //p = 2; INVALIDO, miembro no estático } }
Los miembros estáticos de otra clase se acceden sin crear objetos, así: IdentificadorDeLaClase.miembro Y se pueden acceder independientemente de que el método sea estático o no. public class MiClase { public static int tmp = 123; // miembro variable public static final double PI = 3.141592653589793;// miembro constante public static void imprimeArreglo(int a[]) // miembro método { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } } class Main { public static void main(String[] args) { int p[] = {3,6,8,3,6}; MiClase.imprimeArreglo(p); double a = MiClase.PI; fun(); // ERROR. fun no es estatica y está en la misma clase que main } public void fun( void ) { int p[] = {3,6,8,3,6}; MiClase.imprimeArreglo(p); double a = MiClase.PI; } }
public class Arreglos // Arreglos. Los arreglos son objetos en JAVA { public static void main(String[] args) { double a[]; a = new double[100]; float b[] =new float[1000]; int p[] = {3,6,8,3,6}; float f[] = {3.1f,6.8f,8.8f,3.5f,6.2f}; int tamano = p.length; // acceso al miembro length del objeto p imprimeArreglo(p); imprimeArreglo(f); } public static void imprimeArreglo(int a[]) { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } public static void imprimeArreglo(float a[]) //sobrecarga de imprimeArreglo { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } public static void imprimeArreglo(double a[]) // sobrecarga de imprimeArreglo { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } }
public class Arreglos // El archivo debe llamarse Arreglos { public static void imprimeArreglo(int a[]) { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } public static void imprimeArreglo(float a[]) // sobrecarga de imprimeArreglo { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } public static void imprimeArreglo(double a[]) // sobrecarga de imprimeArreglo { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } } class Main { public static void main(String[] args) { double a[]; a = new double[100]; float b[] =new float[1000]; int p[] = {3,6,8,3,6}; float f[] = {3.1f,6.8f,8.8f,3.5f,6.2f}; int tamano = p.length; // acceso al miembro length del objeto p Arreglos.imprimeArreglo(p); Arreglos.imprimeArreglo(f); } }
public class Arreglos { public static int tmp = 123; // miembro variable public static final double PI = 3.141592653589793; // miembro constante public static void imprimeArreglo(int a[]) // miembro método { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } public static void imprimeArreglo(float a[]) //sobrecarga de imprimeArreglo { for(int i = 0 ;i < a.length; i++) System.out.println(a[i]); } } class Main { static int tmp; // miembro variable de la clase public static void main(String[] args) { int tmp2 = 4; // variable local int p[] = {3,6,8,3,6}; Arreglos.imprimeArreglo(p); aux(); tmp = tmp + 1; // tmp contiene un 124 } public static void aux() // así no: aux(void) { tmp = Arreglos.tmp; } }