Programación con java: el acceso a los campos y los métodos de su aplicación para android

Video: 28.- Curso de Java. Crear aplicaciones Multitarea con el uso de Threads

Puede configurar el acceso de los campos y métodos de su aplicación para Android. Una clase Java puede tener ya sea de acceso público o el acceso no pública (por defecto). Sin embargo, un miembro de una clase tiene cuatro posibilidades: pública, privada, por defecto, y protegidos.

campos y métodos de la clase A son miembros de la clase.

He aquí cómo funciona el acceso de miembros:

  • Un miembro predeterminado de una clase (un miembro cuya declaración no contiene las palabras público, privado, o protegido) Puede ser utilizado por cualquier código dentro del mismo paquete que esa clase.
  • Un miembro privado de una clase no se puede utilizar en cualquier código fuera de la clase.
  • Un miembro del público de una clase se puede utilizar siempre la clase en sí puede ser utiliza- es decir:
  • Cualquier programa en cualquier paquete se puede referir a un miembro del público de una clase pública.
  • Para un programa para hacer referencia a un miembro de una clase pública de acceso por defecto, el programa debe estar dentro del mismo paquete que la clase.

Para ver estas reglas en acción, echa un vistazo a la clase pública en este código.

com.allyourcode.bank- paquete

público Cuenta la clase {

público cadena customerName-

privado int internalIdNumber-

Dirección- cuerdas

teléfono-string

público int socialSecurityNumber-

int accountType-

doble balanza

público static int findById (int internalIdNumber) {

Cuenta foundAccount = nueva cuenta () -

// código para encontrar la cuenta va aquí.

volver foundAccount.internalIdNumber-

}

}

El código utiliza el Cuenta clase y sus campos.

De clase Java de programación-para-android-developers-2e-pública
En referencia a una clase pública en el mismo paquete.

Vamos a ver lo que sucede con un paquete diferente.

java de programación-para-android-developers-2e-público de clase-diferente-paquete
En referencia a una clase pública en un paquete diferente.

Los mensajes de error indican con el código de algunas dificultades. He aquí una lista de hechos acerca de estas dos piezas de código:

  • los UseAccount es la clase en el mismo paquete que el Cuenta clase.
  • los UseAccount clase puede crear una variable de tipo Cuenta.
  • los UseAccount código de clase puede referirse al público Nombre del cliente Campo de la Cuenta clase y en el valor predeterminado dirección Campo de la Cuenta clase.
  • los UseAccount clase no se puede referir a lo privado internalIdNumber Campo de la Cuenta clase, aunque UseAccount y Cuenta están en el mismo paquete.
  • los UseAccountFromOutside clase no está en el mismo paquete que el Cuenta clase.
  • los UseAccountFromOutside clase puede crear una variable de tipo Cuenta. (Un importar declaración le evita tener que repetir el completo com.allyourcode.bank.Account nombre en todas partes en el código.)
  • los UseAccountFromOutside código de clase puede referirse al público Nombre del cliente Campo de la Cuenta clase.
  • los UseAccountFromOutside código de clase no puede referirse a los valores predeterminados dirección Campo de la Cuenta clase o al privado internalIdNumber Campo de la Cuenta clase.

Ahora examine la clase no pública en este código.

com.allyourcode.game- paquete

clase Sprite {

público Nombre cadena

imagen- cuerdas

doble distanceFromLeftEdge, distanceFromTop-

doble motionAcross, motionDown-

privado int renderingValue-

Video: 01.- Curso Desarrollo Aplicaciones Android. Configurar Entorno de Desarrollo

anulará render () {

si (renderingValue == 2) {

// hacer cosas aquí

}

}

}

El código utiliza el Duende clase y sus campos.

java de programación-para-android-developers-2e-acceso-clase por defecto
Refiriéndose a una clase de acceso por defecto en el mismo paquete.

Vamos a ver lo que sucede con un paquete diferente.

java de programación-para-android-developers-2e-default-access-clase-diferente-paquete
En referencia a una clase de acceso predeterminado en un paquete diferente.

Los mensajes de error en estas imágenes apuntan a con el código de algunas dificultades. He aquí una lista de hechos acerca de estas dos piezas de código:

  • los UseSprite clase está en el mismo paquete que el Duende clase.
  • los UseSprite clase puede crear una variable de tipo Duende.
  • los UseSprite código de clase puede referirse al público nombre Campo de la Duende clase y en el valor predeterminado distanceFromTop Campo de la Duende clase.
  • los UseSprite clase no se puede referir a lo privado renderingValue Campo de la Duende clase, aunque UseSprite y Duende están en el mismo paquete.
  • los UseSpriteFromOutside clase no está en el mismo paquete que el Duende clase.
  • los UseSpriteFromOutside clase no puede crear una variable de tipo Duende. (Ni siquiera una importar declaración puede salvarlo de un mensaje de error aquí.)
  • Dentro de UseAccountFromOutside clase, las referencias a sprite.name, sprite.distanceFromTop, y sprite.renderingValue son todos de sentido porque la duende variable no tiene un tipo.
Artículos Relacionados