Android

Android


ELEMENTOS DE JAVA

Página 21 de 25

    void recorreArray(double[][] miArray, Manipulador m){

       for (int i=0;i<miArray.length;i++){

          for(int j=0;j<miArray[i].length;j++){

             m.manipula(miArray,i,j);

          }

       }

    }

  }

    // interfaz para manipular un array

    interface Manipulador{

      void manipula(double[][] a,int i,int j);

    }

A.21. Otras características de Java

A.21.1. Paquetes

En Java las clases se agrupan en paquetes, especificados en la primera línea del fichero:

   package es.ugr.amaro;

Esto indica que el fichero .class, obtenido al compilar el fichero .java, está localizado en el subdirectorio es/ugr/amaro. Todas las clases del mismo paquete están en el mismo directorio. Para evitar problemas, se aconseja utilizar nombres únicos para los paquetes, como un nombre de dominio o de correo electrónico.  Para que una clase pueda utilizar otra clase definida en otro paquete se debe especificar ésta con la orden import al principio del fichero. Por ejemplo, para usar la clase EjemploJava1 del paquete es.ugr.amaro, escribiríamos:

   import es.ugr.amaro.EjemploJava1;

Se pueden importar todas las clase de un paquete escribiendo un asterisco:

   import es.ugr.amaro.*

A.21.2. Clases públicas

Por defecto, las clases son privadas y sólo son accesibles a las otras clases de su mismo paquete. Si queremos que una clase sea pública y pueda ser importada por clases en otros paquetes, debemos declararla como public. Por ejemplo:

   public class EjemploJava1{

   ...

   }

A.21.3. Privilegios de acceso de los métodos y variables

Aunque una clase sea pública, sus métodos y variables tienen su propio tipo de acceso, que puede ser de cuatro tipos: public, protected, private, o el tipo por defecto, si no se especifica nada. La diferencia está en el tipo de clases que pueden acceder a ellos.

•   public: es el tipo menos restrictivo, permitiendo acceso a todas las clases. Es decir, si un método es public, puede invocarse desde cualquier clase de cualquier paquete.

•   protected: no permite el acceso a las clases de otro paquete, a no ser que sean sub-clases de la clase que contiene el método o variable.

•   tipo por defecto: si no se especifica nada, no permite el acceso a las clases de otro paquete. Dicho de otro modo, los métodos no pueden ser ejecutados por clases de otro paquete. Si queremos que lo sean, deben ser declarados públicos.

•   private: es el tipo más rectictivo. No es accesible ni siquiera a las clases del mismo paquete. Sólo lo puede ejecutar la clase que lo contiene.

A.21.4. Clases y métodos abstractos

Una clase abstracta se declara precediéndola del comando abstract. Las clases abstractas son similares a las interfaces, conteniendo lo que se denomina métodos abstractos, precedidos también de la palabra abstract, y que sólo están declarados, pero no implementados. Las clases abstractas se diferencian de las interfaces en que también pueden contener métodos concretos, es decir, implementados. No se puede crear un objeto de una clase abstracta, sino sólo de una de sus subclases que implemente todos sus métodos abstractos.

Ir a la siguiente página

Report Page