Maison > Questions et réponses > le corps du texte
class Test{
private static int i = 1;
public static void main(String[] args){
Test test = new Test();
System.out.println(test.i); //此处为何能访问到私有的i变量呢?
}
}
如果与Test类不同包,调用i变量却报错,为何?
高洛峰2017-04-18 10:49:37
Théoriquement, les modificateurs d'accès ne sont pas complètement nécessaires et n'affecteront pas la logique du programme. Ceci uniquement pendant la phase de compilation pour aider les programmeurs à écrire du code plus sûr.
Je comprends la confusion du questionneur. Il pense qu'il est plus approprié d'utiliser this.i
ici (bien sûr, supprimez le mot-clé merdique static
Cette vue peut vraiment rendre certaines personnes folles).
Rappelez-vous : ces modificateurs d'accès n'ont rien à voir avec le contexte d'exécution. Par exemple, private
vérifiera uniquement si le code que vous utilisez pour accéder à cette variable est écrit dans la classe actuelle au moment de la compilation. aussi grossier que ça.