RSS

Declaraciones y control de acceso (II)

13 Abr

Declaración de una clase

Una clase es una plantilla que describe las propiedades y el comportamiento que van a tener los objetos de esa clase.

La sintaxis para declarar una clase es la siguiente:

[Modificadores] class NombreClase [extends SuperClase] [implementes Interface]{}

La mínima expresión de una declaración de clase sería:
class MinimaClase{}

Los modificadores y las cláusulas de herencia e interfaces son opcionales.

Reglas de Declaración en el fichero fuente

  • Solo puede existir una clase pública en un fichero .java
  • El nombre del fichero debe coincidir con el de la clase pública.
  • La sentencia package (si existe) debe ser la primera sentencia del fichero.
  • Las sentencias import (si existen) deben seguir a la sentencia package y preceder a las declaraciones de clases.
  • Pueden existir más clases en el fichero pero no pueden ser públicas.
  • Las sentencias package e import afectarán a todas las clases declaradas en el fichero.
  • El nombre de los ficheros que solo tengan declaraciones de clase no públicas no tiene que coincidir con ninguna de las clases.

Modificadores de acceso

Existen tres modificadores de acceso: public, protected y private. Sin embargo, existen cuatro niveles de acceso. Cuando no se especifica ninguno de los tres modificadores anteriores se tiene el nivel de acceso por defecto, que es el nivel de paquete.

Para las clases de primer nivel solo se permite:

  • public
  • nivel de paquete

Para atributos, métodos, clases anidadas, se permiten todos.

Los explicamos un poco más, desde el más restrictivo al menos restrictivo:

  • private: solo es accesible dentro de su clase.
  • no se especifica (nivel de paquete): es accesible dentro de su clase y por todas las clases de su paquete.
  • protected: es accesible dentro de su clase, por todas las clases de su paquete y por las clases hijas que estén en otro paquete diferente.
  • public: es accesible para cualquier clase Java.


Otros Modificadores

Otros modificadores que pueden añadirse despúes de los modificadores de acceso son:

  • strictfp
  • abstract
  • final

Strictfp puede modificar una clase o un método, nunca una variable.

Cuando marcamos una clase como strictp significa que todo el código de la clase sigue la especificación IEEE754 para flotantes. Cuando marcamos strictfp a un método el código del método sigue la especificación anterior.

Si cumplimos esta especificación prevenimos que los números flotantes puedan ser dependientes de la plataforma.

Final

Cuando marcamos una clase como final estamos indicando que esta clase no puede ser extendida en subclases.
Los métodos marcados como final no pueden sobrescribirse.
Si una variable se marca como final, se convierte en una constante.

Abstract

Cuando marcamos una clase como abstract estamos indicando que no se puede instanciar. Su objetivo es ser extendida en subclases.
Una clase abstracta puede tener tanto métodos abstractos como no abstractos. Un solo método abstracto obliga a declarar la clase como abstracta.
Este tipo de clases son útiles cuando la implementación queremos que se concrete en sus clases hijas.

No tiene sentido declarar una clase final y abstracta.

Anuncios
 
10 comentarios

Publicado por en 13 abril, 2011 en Estudio, Tema 1

 

Etiquetas: , , ,

10 Respuestas a “Declaraciones y control de acceso (II)

  1. María del Mar

    5 mayo, 2015 at 11:00 am

    Gracias

     
  2. carlos andres morales salazar

    20 noviembre, 2013 at 5:56 pm

    gracias …

     
  3. Edgar Canales

    30 julio, 2013 at 7:20 am

    Excelente pagina has dejado un referente muy bueno para guiarnos en esta tarea de la certificación, mis felicitaciones y agradecimientos, un saludo desde Perú.

     
  4. Wolf Wolf Pulido Criollo

    17 septiembre, 2012 at 9:26 pm

    de los programaas de simulacion., muchas gracias

     
  5. Wolf Wolf Pulido Criollo

    17 septiembre, 2012 at 9:19 pm

    por los progrmas que existen de simulacion?.y si es mejor practicar en linea con la pagina que nos distes?gracias

     
  6. M..Iván

    11 septiembre, 2012 at 5:42 pm

    Acabo de descubrir tu blog, y me parece fantástico.
    Voy a preparar en examen OCPJC, y esta guía que has montado, me parece superpráctica.
    Felicidades y muchisimas gracias.

     
    • Virginia Lopez

      11 septiembre, 2012 at 8:38 pm

      Hola Iván! Pues me alegra mucho, espero que te sea de ayuda.
      Muchas gracias.
      Una cosita, ¿estás trabajando para Insa? Si es así hemos compartido empresa 🙂
      Pero yo aquí en el sur. Un saludo a los cénits!!

       
  7. Wolf Wolf Pulido Criollo

    8 septiembre, 2012 at 1:45 am

    APENAS ENTRE AL BLOG, COMO FUNCIONA EL SOFTWARE DE TRAINING DEL EXAMEN?

     
    • Virginia Lopez

      8 septiembre, 2012 at 1:29 pm

      Hola! No estoy segura de si preguntas por el programa del examen o por los programas que existen de simulación.
      Me lo comentas y te cuento. Un saludo!

       

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: