Rumah Java javaTutorial Perkara yang perlu diberi perhatian apabila menggunakan pengubah suai akses untuk fungsi Java

Perkara yang perlu diberi perhatian apabila menggunakan pengubah suai akses untuk fungsi Java

Apr 25, 2024 pm 05:09 PM
fungsi java Enkapsulasi pengubah suai akses

Pengubah kebenaran akses fungsi Java termasuk: awam, dilindungi, lalai dan peribadi. Langkah berjaga-jaga berikut perlu diikuti: Kelas bersarang hanya boleh mengakses ahli peribadi kelas luaran dalam subkelas mewarisi kebenaran akses kelas induk, tetapi tidak boleh mengurangkannya di bawah polimorfisme, apabila subkelas mengatasi fungsi kelas induk, kebenaran akses tidak boleh; lebih ketat. Pengubah suai lalai menjadikan fungsi kelihatan hanya dalam pakej yang sama. . Enkapsulasi dan keselamatan adalah kritikal. Artikel ini akan memperkenalkan langkah berjaga-jaga untuk menggunakan pengubah kebenaran akses fungsi dalam Java dan menggambarkannya melalui kes praktikal.

Java 函数的访问权限修饰符之使用时的注意事项Pengubah suai akses

Pengubah suai akses fungsi yang biasa digunakan di Java termasuk:

awam: Boleh diakses di mana-mana sahaja

dilindungi:

dalam pakej yang sama ault (pakej -peribadi): Hanya boleh diakses dalam pakej yang sama

peribadi:
    Hanya boleh diakses dalam kelas di mana ia ditakrifkan
  • Nota
  • Diperlukan apabila menggunakan pengubah akses
  • Nested Ikuti nota ini
  • :
  • Fungsi yang ditakrifkan dalam kelas bersarang hanya boleh mengakses ahli persendirian kelas luarnya.
  • Subkelas:
Fungsi dalam subkelas mewarisi hak akses kelas induk, tetapi tidak boleh mengurangkan hak akses kelas induk.

Polymorphism:

Subkelas boleh mengatasi fungsi kelas induk, tetapi kebenaran akses bagi fungsi yang diganti tidak boleh lebih ketat daripada kebenaran akses fungsi kelas induk.

    Keterlihatan Pakej:
  • Pengubah suai lalai juga boleh dipanggil keterlihatan pakej, yang bermaksud fungsi itu hanya boleh dilihat dalam kelas dalam pakej yang sama.
  • Kes praktikal
  • Menunjukkan contoh kod yang mengandungi dua kelas yang menggambarkan penggunaan pengubah akses:
  • // 外部类
    public class OuterClass {
        private int privateField;  // 私有字段
        protected int protectedField;  // 受保护字段
        int defaultField;  // 默认字段
        public int publicField;  // 公共字段
    
        // 私有方法
        private void privateMethod() {
            System.out.println("私有方法");
        }
        // 受保护方法
        protected void protectedMethod() {
            System.out.println("受保护方法");
        }
        // 默认方法
        void defaultMethod() {
            System.out.println("默认方法");
        }
        // 公共方法
        public void publicMethod() {
            System.out.println("公共方法");
        }
    }
    
    // 内部类
    class InnerClass {
        public static void main(String[] args) {
            OuterClass outer = new OuterClass();
    
            // 访问内部类中的公共字段
            System.out.println(outer.publicField);
    
            // 访问外部类中的默认字段(因为内部类和外部类在同一包中)
            System.out.println(outer.defaultField);
    
            // 无法访问外部类中的私有字段
            // System.out.println(outer.privateField);
    
            // 无法访问外部类中的受保护字段(因为内部类不是外部类的子类)
            // System.out.println(outer.protectedField);
    
            // 无法调用外部类中的私有方法
            // outer.privateMethod();
    
            // 可以调用外部类中的受保护方法
            outer.protectedMethod();
    
            // 可以调用外部类中的默认方法
            outer.defaultMethod();
    
            // 可以调用外部类中的公共方法
            outer.publicMethod();
        }
    }
    Salin selepas log masuk
    Dalam contoh ini:
  • OuterClaste>hanya boleh dikodkan >OuterClaste> diakses dalam <code>OuterClass. ProtectedField dalam OuterClass boleh diakses dalam OuterClass dan subkelasnya.
defaultField dalam OuterClass boleh diakses dari mana-mana kelas dalam pakej yang sama.

Bidang Awam dalam OuterClass boleh diakses dari mana-mana sahaja.

InnerClass boleh mengakses ahli awam, dilindungi dan lalai dalam OuterClass, tetapi bukan ahli persendirian.

Atas ialah kandungan terperinci Perkara yang perlu diberi perhatian apabila menggunakan pengubah suai akses untuk fungsi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah maksud penutupan dalam ungkapan lambda C++? Apakah maksud penutupan dalam ungkapan lambda C++? Apr 17, 2024 pm 06:15 PM

Dalam C++, penutupan ialah ungkapan lambda yang boleh mengakses pembolehubah luaran. Untuk membuat penutupan, tangkap pembolehubah luar dalam ungkapan lambda. Penutupan memberikan kelebihan seperti kebolehgunaan semula, penyembunyian maklumat dan penilaian malas. Ia berguna dalam situasi dunia sebenar seperti pengendali acara, di mana penutupan masih boleh mengakses pembolehubah luar walaupun ia dimusnahkan.

Bolehkah definisi fungsi dan panggilan dalam C++ bersarang? Bolehkah definisi fungsi dan panggilan dalam C++ bersarang? May 06, 2024 pm 06:36 PM

boleh. C++ membenarkan definisi dan panggilan fungsi bersarang. Fungsi luaran boleh menentukan fungsi terbina dalam, dan fungsi dalaman boleh dipanggil terus dalam skop. Fungsi bersarang meningkatkan enkapsulasi, kebolehgunaan semula dan kawalan skop. Walau bagaimanapun, fungsi dalaman tidak boleh mengakses pembolehubah tempatan fungsi luaran secara langsung, dan jenis nilai pulangan mesti konsisten dengan pengisytiharan fungsi luaran Fungsi dalaman tidak boleh rekursif sendiri.

Kelebihan dan Kekurangan Java Enkapsulasi: Tukar ganti antara Privasi dan Kebolehselenggaraan Kelebihan dan Kekurangan Java Enkapsulasi: Tukar ganti antara Privasi dan Kebolehselenggaraan Mar 16, 2024 pm 10:07 PM

Sekatan akses: Enkapsulasi mengehadkan akses kepada data dalaman dan kadangkala mungkin sukar untuk mengakses maklumat yang diperlukan. Potensi ketidakfleksibelan: Enkapsulasi ketat mungkin mengehadkan kebolehsesuaian kod, menjadikannya sukar untuk melaraskannya kepada keperluan khusus. Kesukaran ujian: Enkapsulasi mungkin menyukarkan untuk menguji pelaksanaan dalaman kerana akses luaran adalah terhad. Lebihan kod: Untuk mengekalkan pengkapsulan, kadangkala perlu untuk menduplikasi kod, seperti mencipta berbilang kaedah getter dan setter. Overhed prestasi: Mengakses ahli persendirian memerlukan kaedah getter dan setter, yang mungkin dikenakan overhed prestasi tambahan. Timbang privasi dan kebolehselenggaraan: Apabila menimbang privasi dan kebolehselenggaraan, faktor berikut harus dipertimbangkan: Keperluan keselamatan: Jika data sangat sensitif, keutamaan untuk privasi mungkin tinggi

Prinsip Pengaturcaraan Falsafah Unix Prinsip Pengaturcaraan Falsafah Unix Feb 20, 2024 am 10:54 AM

1Falsafah Unix Falsafah Unix menekankan kepraktisan, datang daripada pengalaman yang kaya, dan tidak dihadkan oleh metodologi atau piawaian tradisional. Pengetahuan ini lebih terpendam dan separa naluri. Pengetahuan yang dikumpul pengaturcara Unix melalui pengalaman pembangunan boleh memberi manfaat kepada pengaturcara lain. (1) Setiap program harus menumpukan pada menyelesaikan satu tugasan dan memulakan semula apabila menghadapi tugasan baharu untuk mengelak daripada menambah fungsi baharu pada atur cara asal, menyebabkan kerumitan meningkat. (2) Dengan mengandaikan bahawa output program akan menjadi input program lain, walaupun program seterusnya tidak jelas, pastikan output tidak mengandungi maklumat yang tidak relevan. (3) Letakkan perisian yang direka bentuk dan bertulis ke dalam penggunaan percubaan secepat mungkin, dan dengan tegas meninggalkan serta menulis semula kod berkualiti rendah. (4) Gunakan alat sebelum cara bantu yang tidak cekap untuk mengurangkan beban tugas pengaturcaraan dan berusaha untuk kecemerlangan.

Bagaimana untuk mengeksport program c++ Bagaimana untuk mengeksport program c++ Apr 22, 2024 pm 05:45 PM

Simbol, termasuk fungsi, pembolehubah dan kelas, dieksport dalam C++ melalui kata kunci "C" luaran. Simbol yang dieksport diekstrak dan digunakan mengikut peraturan bahasa C antara unit kompilasi atau apabila berinteraksi dengan bahasa lain.

Bagaimana untuk mereka bentuk objek fungsi STL tersuai untuk meningkatkan kebolehgunaan semula kod? Bagaimana untuk mereka bentuk objek fungsi STL tersuai untuk meningkatkan kebolehgunaan semula kod? Apr 25, 2024 pm 02:57 PM

Menggunakan objek fungsi STL boleh meningkatkan kebolehgunaan semula dan termasuk langkah-langkah berikut: Tentukan antara muka objek fungsi (buat kelas dan warisi daripada std::unary_function atau std::binary_function) Overload operator() untuk mentakrifkan kelakuan fungsi dalam operator terlampau beban() Laksanakan fungsi yang diperlukan menggunakan objek fungsi melalui algoritma STL (seperti std::transform)

Peranan dan senario aplikasi kaedah statik peribadi dalam PHP Peranan dan senario aplikasi kaedah statik peribadi dalam PHP Mar 23, 2024 am 10:18 AM

Peranan dan senario aplikasi kaedah statik persendirian dalam PHP Dalam pengaturcaraan PHP, kaedah statik persendirian ialah jenis kaedah khas Ia hanya boleh diakses dalam kelas di mana ia ditakrifkan dan tidak boleh dipanggil secara langsung dari luar. Kaedah statik persendirian biasanya digunakan untuk pelaksanaan logik dalaman kelas, menyediakan cara untuk merangkum dan menyembunyikan butiran Pada masa yang sama, mereka mempunyai ciri kaedah statik dan boleh dipanggil tanpa instantiating objek kelas. Berikut akan membincangkan peranan dan senario aplikasi kaedah statik persendirian, dan memberikan contoh kod khusus. Fungsi: merangkum dan menyembunyikan butiran pelaksanaan: statik peribadi

Apakah faedah menggunakan ungkapan lambda C++ untuk pengaturcaraan berfungsi? Apakah faedah menggunakan ungkapan lambda C++ untuk pengaturcaraan berfungsi? Apr 17, 2024 am 10:18 AM

Ekspresi lambda C++ membawa kelebihan kepada pengaturcaraan berfungsi, termasuk: Kesederhanaan: Fungsi sebaris tanpa nama meningkatkan kebolehbacaan kod. Penggunaan semula kod: Ungkapan Lambda boleh dihantar atau disimpan untuk memudahkan penggunaan semula kod. Enkapsulasi: Menyediakan cara untuk merangkum sekeping kod tanpa mencipta fungsi berasingan. Kes praktikal: menapis nombor ganjil dalam senarai. Kira jumlah unsur dalam senarai. Ekspresi Lambda mencapai kesederhanaan, kebolehgunaan semula dan enkapsulasi pengaturcaraan berfungsi.

See all articles