java - 为什么此私有静态变量能被访问呢?
高洛峰
高洛峰 2017-04-18 10:47:37
0
11
1473
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变量却报错,为何?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(11)
小葫芦

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan