Desarrollo de aplicaciones para android: java campos y métodos estáticos

Java es un lenguaje de programación orientado a objetos. Por lo tanto, como un desarrollador de aplicaciones Android, su objetivo principal es describir objetos. Su objetivo estrechamente relacionado es el de describir objetos cercanos primos - es decir, las clases. Una clase es la idea detrás de un cierto tipo de cosas. Un objeto es un ejemplo concreto de una clase.

Aquí, una pequeña parte del código fuente de Android tostada clase se reproduce.

Tostada public class {public estático última int LENGTH_LONG = 1-pública estático Tostada Maketext (contexto Contexto, texto CharSequence, duración int) {resultado de la tostada = new tostada (contexto) -LayoutInflater inflar = (LayoutInflater) context.getSystemService (Context.LAYOUT_INFLATER_SERVICE) -View v = inflate.inflate (com.android.internal. R.layout.transient_notification, null) tv -TextView = (TextView) v.findViewById (com.android.internal.R.id.message) -tv.setText (texto) -result.mNextView = v-result.mDuration = duración -Retorno result-} public void show () {if (mNextView == null) {throw new RuntimeException ( “setView debe haber sido llamado”) -} = servicio INotificationManager getService () - cadena PKG = mContext.getPackageName () - TN tn = MTN-try {service.enqueueToast (PKG, TN, DURACION.MODIF) -} catch (RemoteException e) {// vacío}}}

De acuerdo con este código, el tostada clase tiene un campo estático llamado LENGTH_LONG y un método estático llamado Maketext. Cualquier cosa que se declara como estática pertenece a la clase entera, no a una instancia particular de la clase. Cuando se crea el campo estático, LENGTH_LONG, se crea una sola copia del campo. Esta copia se queda con la totalidad tostada clase. No importa cuántas instancias de la tostada clase que se cree - uno, nueve, o ninguno - sólo tiene una LENGTH_LONG campo.

Esto contrasta con la situación. Aquí el Cuenta clase tiene campos nombre, dirección, y equilibrar. Los campos no son estáticos, por lo que cada instancia de la Cuenta clase tiene su propia nombre, su propio dirección, y su propia equilibrar. Una instancia tiene nombre Barry Burd y el equilibrio 24.02, y otra instancia tiene nombre John Q. Public con el equilibrio -471,03. Para hacer referencia al balance de Burd, puede escribir algo como myAccount.balance, como en el siguiente código:

myaccount cuenta = cuenta nueva () - myAccount.name = “Burd” -myAccount.address = “222 ciberespacio Lane” -myAccount.balance = 24.02-

Para hacer referencia a un miembro no estática de una clase, se escribe el nombre de un objeto (por ejemplo, mi cuenta), Seguido de un punto, y luego el nombre del miembro (tal como equilibrar).

Pero el tostada la clase de LENGTH_LONG campo es estático. Cuando se crea una tostada ejemplo, no se crea una nueva LENGTH_LONG campo. los tostada clase tiene una LENGTH_LONG campo, y eso es todo. En consecuencia, se hace referencia a LENGTH_LONG anteponiendo el nombre del campo con el tostada nombre de la clase, seguido de un punto:

Toast.LENGTH_LONG

De hecho, un uso típico de tostada en una aplicación Android se refiere al campo estático LENGTH_LONG y el método estático Maketext:

Video: Desarrollo de una aplicación nativa para Android con Android Studio

Toast.makeText (getApplication (), “Whoa!”, Toast.LENGTH_LONG) .show () -

Una llamada a la tostada la clase de Maketext método devuelve un objeto real - una instancia de la tostada clase. (Usted puede verificar esto haciendo referencia a la primera línea de la Maketext método anterior.) Así que en una aplicación para Android, una expresión como

Toast.makeText (getApplication (), “Whoa!”, Toast.LENGTH_LONG)

representa un objeto. Y cada objeto creado a partir de la tostada clase tiene su propia no estático espectáculo método. Es por eso que normalmente sigue una Toast.makeText llamar con .espectáculo().

Video: Apps para dispositivos móviles: Plataformas de desarrollo: Android (programación: el proyecto)

Aquí hay una última palabra sobre el código que se encuentra aquí: Además de ser estático, el LENGTH_LONG campo es también final. UN final campo es uno cuyo valor no puede ser cambiado. En otras palabras, cuando se declara LENGTH_LONG, puede inicializar su valor a 1. Sin embargo, en otra parte del código, no se puede escribir LENGTH_LONG = 2. (Por lo demás, no se puede incluso escribir LENGTH_LONG = 1 en otra parte del código.)

Muchos lenguajes de programación utilizan la palabra constante (O la abreviatura const) Para hacer referencia a una variable cuyo valor no puede ser cambiado.

Artículos Relacionados