class Test{
private static int i = 1;
public static void main(String[] args){
Test test = new Test();
System.out.println(test.i); //此处为何能访问到私有的i变量呢?
}
}
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.
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é merdiquestatic
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.