Rumah > Soal Jawab > teks badan
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
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.