Rumah  >  Soal Jawab  >  teks badan

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 hari yang lalu1389

membalas semua(11)saya akan balas

  • 高洛峰

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

    Secara teorinya, pengubah suai akses tidak diperlukan sepenuhnya dan tidak akan menjejaskan logik program. Ini hanya semasa fasa penyusunan untuk membantu pengaturcara menulis kod yang lebih selamat.
    Saya faham kekeliruan penyoal Dia rasa lebih sesuai digunakan this.i di sini (sudah tentu, keluarkan kata kunci yang buruk static Pandangan ini mungkin benar-benar membuat sesetengah orang menjadi gila).
    Ingat: Pengubah suai akses ini tiada kaitan dengan konteks pelaksanaan Contohnya, private hanya akan menyemak sama ada kod yang anda gunakan untuk mengakses pembolehubah ini ditulis dalam kelas semasa pada masa penyusunan mentah begitu.

    balas
    0
  • Batalbalas