Vidéo: Develop apps using the App Studio for Microsoft Teams 2025
Java est un langage de programmation orienté objet. Ainsi, en tant que développeur d'applications Android, votre objectif principal est de décrire des objets. Votre but étroitement lié est de décrire les cousins proches des objets - à savoir, les classes. Une classe est l'idée derrière un certain genre de chose. Un objet est une instance concrète d'une classe.
Ici, une petite partie du code source de la classe Toast d'Android est reproduite.
public class Toast {public statique final int LENGTH_LONG = 1; public static Toast makeText (Contexte contextuel, texte CharSequence, durée int) {Toast result = new Toast (contexte); LayoutInflater inflate = (LayoutInflater) contexte. getSystemService (Contexte: LAYOUT_INFLATER_SERVICE); Voir v = gonfler. gonfler (com.android.interne R. mise en page, transient_notification, null); TextView tv = (TextView) v. findViewById (message android interne, message d'identification R.); la télé. setText (texte); résultat. mNextView = v; résultat. mDuration = durée; return result;} public void show () {if (mNextView == null) {lance une nouvelle RuntimeException ("setView doit avoir été appelé");} INotificationManager service = getService (); Chaîne pkg = mContext. getPackageName (); TN tn = mTN; essayez {service. enqueueToast (pkg, tn, mDuration);} catch (RemoteException e) {// Empty}}}
Selon ce code, la classe Toast a un champ statique nommé LENGTH_LONG et une méthode statique nommée makeText. Tout ce qui est déclaré statique appartient à toute la classe, pas à une instance particulière de la classe. Lorsque vous créez le champ statique, LENGTH_LONG, vous créez une seule copie du champ. Cette copie reste avec toute la classe Toast. Peu importe le nombre d'instances de la classe Toast que vous créez (une, neuf ou aucune), vous n'avez qu'un seul champ LENGTH_LONG.
Contrastez ceci avec cette situation. Ici, la classe Account a les champs nom, adresse et solde. Les champs ne sont pas statiques, donc chaque instance de la classe Account a son propre nom, sa propre adresse et son propre solde. Une instance a le nom Barry Burd et le solde 24. 02, et une autre instance a le nom John Q. Public avec l'équilibre -471. 03. Pour faire référence à l'équilibre de Burd, vous pouvez écrire quelque chose comme myAccount. balance, comme dans le code suivant:
Compte myAccount = nouveau compte (); Mon compte. name = "Burd"; Mon compte. adresse = "222 Cyberspace Lane"; Mon compte. solde = 24. 02;
Pour faire référence à un membre non statique d'une classe, vous écrivez le nom d'un objet (tel que myAccount), suivi d'un point, puis du nom du membre (tel que balance).
Mais le champ LENGTH_LONG de la classe Toast est statique. Lorsque vous créez une instance Toast, vous ne créez pas de nouveau champ LENGTH_LONG. La classe Toast a un champ LENGTH_LONG, et c'est tout. Par conséquent, vous faites référence à LENGTH_LONG en préfabriquant le nom du champ avec le nom de la classe Toast, suivi d'un point:
Toast. LENGTH_LONG
En fait, une utilisation typique de Toast dans une application Android fait référence au champ statique LENGTH_LONG et à la méthode statique makeText:
Toast. makeText (getApplication (), "Whoa!", Toast, LENGTH_LONG). montrer();
Un appel de la méthode makeText de la classe Toast retourne un objet réel - une instance de la classe Toast. (Vous pouvez le vérifier en vous reportant à la première ligne de la méthode makeText ci-dessus.) Ainsi, dans une application Android, une expression telle que
Toast. makeText (getApplication (), "Whoa!", Toast, LENGTH_LONG)
représente un objet. Et chaque objet créé à partir de la classe Toast possède sa propre méthode show non statique. C'est pourquoi vous suivez normalement un toast. appel makeText avec. montrer().
Voici un dernier mot sur le code que vous trouvez ici: En plus d'être statique, le champ LENGTH_LONG est également définitif. Un dernier champ est celui dont la valeur ne peut pas être changée. En d'autres termes, lorsque vous déclarez LENGTH_LONG, vous pouvez initialiser sa valeur à 1. Mais ailleurs dans le code, vous ne pouvez pas écrire LENGTH_LONG = 2. (D'ailleurs, vous ne pouvez même pas écrire LENGTH_LONG = 1 ailleurs dans le code.)
De nombreux langages de programmation utilisent le mot constante (ou l'abréviation const) pour désigner une variable dont la valeur ne peut pas être changée.
