Différence entre les variables statiques publiques et privées
class Employee{
//salary variable is a private static variable
private static double salary;
//DEPARTMENT is a constant
public static final String DEPARTMENT = "Development";
public static void main(String args[]){
salary = 1000;
System.out.println(DEPARTMENT+ " average salary:"+salary);
}
}
Ce programme java contient une variable statique. Mais je ne comprends pas la différence entre le public et le privé variables statiques.
source d'informationauteur Android Girl
Vous devez vous connecter pour publier un commentaire.
Une variable publique est accessible partout dans le code - une variable privée n'est accessible au sein de la classe elle-même. Dans ce cas, vous êtes à l'aide de
Employee.salary
dans leEmployee
classe, c'est très bien.Noter que la variable statique est complètement distincte de la matière - et les méthodes et les classes ont accessibilité de la même manière que pour les variables.
Il y a d'autres niveaux d'accès disponibles trop
protected
et la valeur par défaut de "package" d'accès (qui ne peut être spécifié de manière explicite). Voir la section 6.6 de la Java Langage de Spécification pour plus de détails.(Une question, il vaut aussi la peine d'apprendre ce
static
signifie - vous avez presque certainement ne pas voulez ces variables statique, tels qu'ils s'appliquent à chaqueEmployee
plutôt que de laEmployee
concept en général. C'est bizarre pourDEPARTMENT
être une constante ici, trop.)Un
public
variable est accessible à partir de n'importe où (enfin, partout où la classe est accessible).Un
private
variable n'est accessible à l'intérieur de la classe.Un
static
variable appartient à la classe plutôt qu'à une instance d'une classe.Remarquez que la variable
DEPARTMENT
est égalementfinal
ce qui signifie qu'il ne peut pas être modifié une fois qu'il est réglé. Ce qui est important ici, car c'est ce qui sauve ce de mauvais code, la variable est une constante, donc il est normal de donner des choses à l'extérieur de la classe d'accès.est disponible uniquement à l'intérieur de la classe et peut être accédé comme
Tout
Pourrait être accessible depuis l'extérieur de cette classe trop comme suit
public static
- peut être consulté à partir de la classe comme à l'extérieur de la classe.private static
- peut-être un accès à partir de l'intérieur de la classe.Statique sont considérés comme des anti-OO dans OOPS.
y
peuvent être accessibles qu'à partir de l'intérieur deDog
viaDog.y
ou tout simplementy
.X
peut être consulté n'importe où viaDog.X
ou, si vous êtes soit dans la classe ou à l'aide deusing static Dog
comme en-tête, justeX
.Évidemment, vous ne pouvez pas accéder
private
variable statique à partir de l'extérieur de la classe, et vous pouvez accéder àpublic
variable statique de partout.