Vidéo: Java Cours درس جافا 44 Les modificateurs d'accès 2024
Une bonne partie du code de votre application Android commencera probablement par le mot
public
. Quand une classe est publique, n'importe quel programme dans n'importe quel paquet peut utiliser le code (ou au moins une partie du code) à l'intérieur de cette classe. Si une classe n'est pas publique, alors pour qu'un programme utilise le code dans cette classe, le programme doit être dans le même paquet que la classe.
Qu'est-ce qu'un paragraphe?
package com. allyourcode. traitement de texte;
class Paragraphe {
alignement int;
int frontières;
double leftIndent;
double interligne;
style int;
}
Création d'un paragraphe avec du code dans le même package
package com. allyourcode. traitement de texte;
class MakeAParagraph {
Paragraphe paragraphe = nouveau Paragraphe ();
{
paragraphe. leftIndent = 1, 5;
}
}
Faire un paragraphe avec du code dans un autre paquet
// C'EST BAD CODE:
package com. allyourcode. éditeur;
import com. allyourcode. traitement de texte. Paragraphe;
public class MakeAnotherParagraph {
Paragraphe paragraphe = new Paragraphe ();
{
paragraphe. leftIndent = 1, 5;
}
}
La classe
Paragraphe
dans le premier ensemble de code a accès par défaut - c'est-à-dire la classe
Paragraphe
isn ' t public. Le code du deuxième ensemble de code se trouve dans le même paquet que la classe
Paragraphe
(le paquet
com. Allyourcode. Wordprocessor
). Vous pouvez donc déclarer un objet de type
Paragraphe
, et vous pouvez vous référer au champ
leftIndent
de cet objet.
Le code du dernier ensemble n'est pas dans le même
com. allyourcode. package de traitement de texte
. Pour cette raison, l'utilisation de noms tels que
Paragraph
et
leftIndent
n'est pas légale, même s'ils font partie du même projet Android Studio. Lorsque vous tapez le code de tous les ensembles ci-dessus dans l'éditeur Android Studio, vous voyez un désordre rouge pour le dernier ensemble.
Avez-vous déjà vu une déclaration d'affectation qui ne fait pas partie d'une méthode? En dehors d'une méthode, vous ne pouvez pas affecter des valeurs aux objets sauf si vous créez un bloc d'initialisation. Comme tout autre type de bloc, un bloc d'initialisation a des accolades ouvertes et fermées. Entre les accolades, le bloc d'initialisation contient des instructions qui affectent des valeurs aux objets.
Dans le deuxième ensemble de codes, un bloc d'initialisation assigne la valeur 1. 5 au champ
leftIndent
d'un paragraphe. Dans le dernier ensemble de code, un bloc d'initialisation tente d'affecter une valeur, mais l'affectation ne fonctionne pas car la classe
Paragraphe
n'est pas publique.
Le
. Le fichier java
contenant une classe publique doit avoir le même nom que la classe publique. Même la mise en majuscule du nom de fichier doit être identique au nom de la classe publique.
En raison de la règle de dénomination de fichier, vous ne pouvez pas déclarer plus d'une classe publique dans un
. java
fichier.