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

Kerana fungsi utama juga merupakan fungsi statik kelas Ujian

PHPzhong

Saya akan berikan anda gambar ini. Anda boleh melihat, terutamanya perbezaan antara dilindungi dan lalai.

黄舟

Kata kunci persendirian bermaksud kecuali untuk kelas yang mengandungi ahli ini, kelas lain tidak boleh mengakses ahli ini, termasuk kelas lain dalam pakej ini. Jadi bukan sahaja pakej yang berbeza, malah pakej yang sama tidak boleh diakses.

刘奇

Jika ini tidak berkesan, privateApakah kegunaan pembolehubah diubah suai?

阿神

Mengapa kelas semasa tidak berfungsi?

Ty80

Jika itu tidak berfungsi, di manakah i digunakan?
Juga peribadi, saya tidak boleh dipanggil oleh kelas lain apabila memanggil kelas Ujian, dan kelas ini tidak terhad.

小葫芦

Jelas sekali anda perlu belajar semula: statik awam swasta melindungi empat pengubah suai biasa ini dalam pengaturcaraan berorientasikan objek

大家讲道理

Memandangkan i adalah statik, test.i (contoh. pembolehubah statik) adalah bersamaan dengan Test.i (kelas. pembolehubah statik), dan i adalah peribadi, jadi ia hanya boleh diakses dalam kelas Ujian.

Ty80

Ini ialah soalan pengaturcaraan asas. Saya berharap untuk melihat definisi dan skop sekali lagi.

伊谢尔伦

Oleh kerana pembolehubah diubah suai persendirian boleh diakses dalam kelas ini, ini adalah soalan mengenai pengubah suai akses.

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