Maison  >  Questions et réponses  >  le corps du texte

java - 为什么此私有静态变量能被访问呢?

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变量却报错,为何?

高洛峰高洛峰2744 Il y a quelques jours1381

répondre à tous(11)je répondrai

  • 天蓬老师

    天蓬老师2017-04-18 10:49:37

    Parce que la fonction principale est aussi une fonction statique de la classe Test

    répondre
    0
  • PHPz

    PHPz2017-04-18 10:49:37

    Je vais vous donner cette photo. Vous pouvez jeter un oeil, notamment la différence entre protégé et par défaut.

    répondre
    0
  • 黄舟

    黄舟2017-04-18 10:49:37

    Le mot-clé private signifie qu'à l'exception de la classe contenant ce membre, les autres classes ne peuvent pas accéder à ce membre, y compris les autres classes de ce package. Ainsi, non seulement les différents packages, mais également le même package ne sont pas accessibles.

    répondre
    0
  • 怪我咯

    怪我咯2017-04-18 10:49:37

    Si cela ne fonctionne pas, privateA quoi servent les variables modifiées ?

    répondre
    0
  • 阿神

    阿神2017-04-18 10:49:37

    Pourquoi le cours actuel ne fonctionne-t-il pas ?

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:49:37

    Si cela ne fonctionne pas, alors où est utilisé le i ? Ne serait-ce pas déclarer un i en vain ?
    Également privé, je ne peux pas être appelé par d'autres classes lors de l'appel de la classe Test, et cette classe n'est pas restreinte.

    répondre
    0
  • 高洛峰

    高洛峰2017-04-18 10:49:37

    Évidemment, vous devez réapprendre : le public privé statique protégeait ces quatre modificateurs courants dans la programmation orientée objet

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:49:37

    Puisque i est statique, test.i (instance. variable statique) est équivalent à Test.i (classe. variable statique), et i est privé, il n'est donc accessible que dans la classe Test.

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:49:37

    Il s'agit d'une question de programmation de base. J'espère revoir la définition et la portée.

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:49:37

    Étant donné que les variables à modification privée sont accessibles dans cette classe, il s'agit d'une question sur les modificateurs d'accès.

    répondre
    0
  • Annulerrépondre