SlideShare uma empresa Scribd logo
1 de 19
UNIVERSIDAD TECNICA DE AMBATO
Facultad de Ingeniería en Sistemas Electrónica e Industrial
 Las variables de clase o miembros estáticos son
 aquellos a los que se antepone el modificador static.
 Vamos a comprobar que un miembro dato estático
 guarda el mismo valor en todos los objetos de dicha
 clase.
Un dato estático es una variable miembro que no se
 asocia a un objeto (instancia) de una clase, sino que
se asocia a la clase misma; no hay una copia del dato
     para cada objeto sino una sola copia que es
    compartida por todos los objetos de la clase.
class Punto {
         int x , y ;
static int numPuntos = 0;

  Punto ( int a , int b ) {
       x = a ; y = b;
     numPuntos ++ ;
             }
           }
es posible acceder a las variables estáticas a
través de una referencia a un objeto de la
clase.



                Por ejemplo:


          Punto p = new Punto();
           int x = p.numPuntos;
modificador tipo variable nombre;
 Sea una clase denominada Alumno con dos miembros
 dato, la nota de selectividad, y un miembro estático
 denominado nota de corte. La nota es un atributo que
 tiene un valor distinto para cada uno de los alumnos u
 objetos de la clase Alumno, mientras que la nota de
 corte es un atributo que tiene el mismo valor para a un
 conjunto de alumnos.
 public class Alumno {
    double nota;
    static double notaCorte=6.0;
    public Alumno(double nota) {
      this.nota=nota;
    }
    boolean estaAdmitido(){
      return (nota>=notaCorte);
    }
}
 Creamos ahora un array de cuatro alumnos y
 asignamos a cada uno de ellos una nota.

alumnos={new Alumno(5.5), new

Alumno(6.3), new Alumno(7.2), new Alumno(5.0)};
 Contamos el número de alumnos que están admitidos
  int numAdmitidos=0;
  for(int i=0; i<alumnos.length; i++){
  if (alumnos[i].estaAdmitido()){
  numAdmitidos++;
  }
 }
  System.out.println("admitidos "+numAdmitidos);
 Accedemos al miembro dato notaCorte desde un objeto
 de la clase Alumno, para cambiarla a 7.0
  alumnos[1].notaCorte=7.0;

 Comprobamos que todos los objetos de la clase Alumno
 tienen dicho miembro dato estático notaCorte
 cambiado a 7.0
  for(int i=0; i<alumnos.length; i++){
 System.out.println("nota de corte
 "+alumnos[i].notaCorte);
  }
 El miembro dato notaCorte tiene el modificador static y
  por tanto está ligado a la clase más que a cada uno de los
  objetos de dicha clase
 Si ponemos
       Alumno.notaCorte=6.5;
          for(int i=0; i<alumnos.length; i++){
            System.out.println("nota de corte
  "+alumnos[i].notaCorte);
   }
 Veremos que todos los objetos de la clase Alumno
  habrán cambiado el valor del miembro dato estático
  notaCorte a 6.5.
Para los métodos, la idea es la misma
  que para los datos: los métodos
estáticos se asocian a una clase, no a
            una instancia.
[modificadores
] Tipo_Valor_devuelto

nombre_método ( lista argumentos
){
     bloque_de_codigo;
}
class Punto {
         int x , y ;
static int numPuntos = 0;

   Punto ( int a , int b ) {
        x = a ; y = b;
      numPuntos ++ ;
              }

static int cuantosPuntos() {
      return numPuntos;
               }
             }
En ocasiones es necesario escribir código para inicializar
los datos estáticos, quizá creando algún otro objeto de
alguna clase o realizando algún tipo de control. El
fragmento de código que realiza esta tarea se llama
inicializador estático. Es un bloque de sentencias que no
tiene nombre, ni recibe argumentos, ni devuelve valor.
Simplemente se declara con el modificador static .
La forma de declarar el inicializador estático es:
static { bloque_codigo }
class Punto {
         int x , y ;
  static int numPuntos;

         static {
       numPuntos = 0;
            }

   Punto ( int a , int b ) {
        x = a ; y = b;
      numPuntos ++ ;
              }

static int cuantosPuntos() {
      return numPuntos;
               }
             }
GRACIAS

 POR SU

ATENCION

Mais conteúdo relacionado

Mais procurados

Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionSneydert Jhenz
 
Tipos de Variables en Java
Tipos de Variables en JavaTipos de Variables en Java
Tipos de Variables en JavaAldemar Rosas
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresAngel Vázquez Patiño
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoriaIronAngel
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gioRobert Wolf
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansDaniel Gómez
 
Anderson martinez arreglos
Anderson martinez arreglosAnderson martinez arreglos
Anderson martinez arreglosadrmrtinzm
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructurasrichmadriz
 
Arreglos Unidimensionales
Arreglos UnidimensionalesArreglos Unidimensionales
Arreglos UnidimensionalesCindy
 
Tipos de variables que Java maneja
Tipos de variables que Java manejaTipos de variables que Java maneja
Tipos de variables que Java manejaLaura Robles
 
Vectores, array y sus métodos
Vectores, array y sus métodosVectores, array y sus métodos
Vectores, array y sus métodosOrlando Verdugo
 
6 A Arrays
6 A Arrays6 A Arrays
6 A Arraysjcpp67
 

Mais procurados (18)

Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Variables en java
Variables en javaVariables en java
Variables en java
 
Tipos de Variables en Java
Tipos de Variables en JavaTipos de Variables en Java
Tipos de Variables en Java
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectores
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Tema 5 arreglos y cadenas - lsia por gio
Tema 5   arreglos y cadenas - lsia por gioTema 5   arreglos y cadenas - lsia por gio
Tema 5 arreglos y cadenas - lsia por gio
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
 
Anderson martinez arreglos
Anderson martinez arreglosAnderson martinez arreglos
Anderson martinez arreglos
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructuras
 
Ape unidad4
Ape unidad4Ape unidad4
Ape unidad4
 
Arreglos Unidimensionales
Arreglos UnidimensionalesArreglos Unidimensionales
Arreglos Unidimensionales
 
Tipos de variables que Java maneja
Tipos de variables que Java manejaTipos de variables que Java maneja
Tipos de variables que Java maneja
 
Tipos de datos 1
Tipos de datos 1Tipos de datos 1
Tipos de datos 1
 
Clase IX
Clase IXClase IX
Clase IX
 
Vectores, array y sus métodos
Vectores, array y sus métodosVectores, array y sus métodos
Vectores, array y sus métodos
 
6 A Arrays
6 A Arrays6 A Arrays
6 A Arrays
 
Leccion 5 Java
Leccion 5 JavaLeccion 5 Java
Leccion 5 Java
 

Destaque (12)

Capa red osi
Capa red osiCapa red osi
Capa red osi
 
Estrategia en acción renovarse o morir
Estrategia en acción renovarse o morirEstrategia en acción renovarse o morir
Estrategia en acción renovarse o morir
 
Historia De Las Telecomunicaciones
Historia De Las TelecomunicacionesHistoria De Las Telecomunicaciones
Historia De Las Telecomunicaciones
 
ejemplo
ejemploejemplo
ejemplo
 
Act. 5
Act. 5Act. 5
Act. 5
 
Mod osi
Mod osiMod osi
Mod osi
 
Jaque Bera
Jaque BeraJaque Bera
Jaque Bera
 
Modalidad
ModalidadModalidad
Modalidad
 
Redes de computadoras
Redes de computadorasRedes de computadoras
Redes de computadoras
 
Limpieza del equipo
Limpieza del equipoLimpieza del equipo
Limpieza del equipo
 
Infiltración en una Red Wireless Protegida
Infiltración en una Red Wireless ProtegidaInfiltración en una Red Wireless Protegida
Infiltración en una Red Wireless Protegida
 
(VAN) Valor Actual Neto (El Salvador)
(VAN) Valor Actual Neto (El Salvador)(VAN) Valor Actual Neto (El Salvador)
(VAN) Valor Actual Neto (El Salvador)
 

Semelhante a Static Alexander_Eivar

Semelhante a Static Alexander_Eivar (20)

Miembros estáticos
Miembros estáticosMiembros estáticos
Miembros estáticos
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
2.android java
2.android   java2.android   java
2.android java
 
Clase3 asignaciones
Clase3 asignacionesClase3 asignaciones
Clase3 asignaciones
 
Tema 4 clases_y_objetos
Tema 4 clases_y_objetosTema 4 clases_y_objetos
Tema 4 clases_y_objetos
 
4 manejo de_metodos
4 manejo de_metodos4 manejo de_metodos
4 manejo de_metodos
 
Diseño de la logica
Diseño de la logicaDiseño de la logica
Diseño de la logica
 
Taller 1 6
Taller 1 6Taller 1 6
Taller 1 6
 
Taller 1 6
Taller 1 6Taller 1 6
Taller 1 6
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
 
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
Javascript Módulo 7 - PROFUNDIZACIÓN EN ARRAYS, OBJETOS, PROPIEDADES, MÉTODOS...
 
Semana9b Vbr
Semana9b VbrSemana9b Vbr
Semana9b Vbr
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Unidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIASUnidad 3 CLASES, OBJETOS E INTSANCIAS
Unidad 3 CLASES, OBJETOS E INTSANCIAS
 
Unidad 2 clases y objetos
Unidad 2 clases y objetosUnidad 2 clases y objetos
Unidad 2 clases y objetos
 
Tema 5 arreglos y cadenas por gio
Tema 5   arreglos y cadenas por gioTema 5   arreglos y cadenas por gio
Tema 5 arreglos y cadenas por gio
 
Tutorial 3
Tutorial 3Tutorial 3
Tutorial 3
 
Taller 1 5
Taller 1 5Taller 1 5
Taller 1 5
 
Taller 1 5
Taller 1 5Taller 1 5
Taller 1 5
 
8.Clases y objetos Java
8.Clases y objetos Java8.Clases y objetos Java
8.Clases y objetos Java
 

Static Alexander_Eivar

  • 1. UNIVERSIDAD TECNICA DE AMBATO Facultad de Ingeniería en Sistemas Electrónica e Industrial
  • 2.  Las variables de clase o miembros estáticos son aquellos a los que se antepone el modificador static. Vamos a comprobar que un miembro dato estático guarda el mismo valor en todos los objetos de dicha clase.
  • 3. Un dato estático es una variable miembro que no se asocia a un objeto (instancia) de una clase, sino que se asocia a la clase misma; no hay una copia del dato para cada objeto sino una sola copia que es compartida por todos los objetos de la clase.
  • 4. class Punto { int x , y ; static int numPuntos = 0; Punto ( int a , int b ) { x = a ; y = b; numPuntos ++ ; } }
  • 5. es posible acceder a las variables estáticas a través de una referencia a un objeto de la clase. Por ejemplo: Punto p = new Punto(); int x = p.numPuntos;
  • 7.  Sea una clase denominada Alumno con dos miembros dato, la nota de selectividad, y un miembro estático denominado nota de corte. La nota es un atributo que tiene un valor distinto para cada uno de los alumnos u objetos de la clase Alumno, mientras que la nota de corte es un atributo que tiene el mismo valor para a un conjunto de alumnos.
  • 8.  public class Alumno { double nota; static double notaCorte=6.0; public Alumno(double nota) { this.nota=nota; } boolean estaAdmitido(){ return (nota>=notaCorte); } }
  • 9.  Creamos ahora un array de cuatro alumnos y asignamos a cada uno de ellos una nota. alumnos={new Alumno(5.5), new Alumno(6.3), new Alumno(7.2), new Alumno(5.0)};
  • 10.  Contamos el número de alumnos que están admitidos int numAdmitidos=0; for(int i=0; i<alumnos.length; i++){ if (alumnos[i].estaAdmitido()){ numAdmitidos++; } } System.out.println("admitidos "+numAdmitidos);
  • 11.  Accedemos al miembro dato notaCorte desde un objeto de la clase Alumno, para cambiarla a 7.0 alumnos[1].notaCorte=7.0;  Comprobamos que todos los objetos de la clase Alumno tienen dicho miembro dato estático notaCorte cambiado a 7.0 for(int i=0; i<alumnos.length; i++){ System.out.println("nota de corte "+alumnos[i].notaCorte); }
  • 12.  El miembro dato notaCorte tiene el modificador static y por tanto está ligado a la clase más que a cada uno de los objetos de dicha clase  Si ponemos Alumno.notaCorte=6.5; for(int i=0; i<alumnos.length; i++){ System.out.println("nota de corte "+alumnos[i].notaCorte); }  Veremos que todos los objetos de la clase Alumno habrán cambiado el valor del miembro dato estático notaCorte a 6.5.
  • 13.
  • 14. Para los métodos, la idea es la misma que para los datos: los métodos estáticos se asocian a una clase, no a una instancia.
  • 15. [modificadores ] Tipo_Valor_devuelto nombre_método ( lista argumentos ){ bloque_de_codigo; }
  • 16. class Punto { int x , y ; static int numPuntos = 0; Punto ( int a , int b ) { x = a ; y = b; numPuntos ++ ; } static int cuantosPuntos() { return numPuntos; } }
  • 17. En ocasiones es necesario escribir código para inicializar los datos estáticos, quizá creando algún otro objeto de alguna clase o realizando algún tipo de control. El fragmento de código que realiza esta tarea se llama inicializador estático. Es un bloque de sentencias que no tiene nombre, ni recibe argumentos, ni devuelve valor. Simplemente se declara con el modificador static . La forma de declarar el inicializador estático es: static { bloque_codigo }
  • 18. class Punto { int x , y ; static int numPuntos; static { numPuntos = 0; } Punto ( int a , int b ) { x = a ; y = b; numPuntos ++ ; } static int cuantosPuntos() { return numPuntos; } }