Rumah  >  Artikel  >  Java  >  Aplikasi pengubah akses terlindung untuk fungsi Java

Aplikasi pengubah akses terlindung untuk fungsi Java

WBOY
WBOYasal
2024-04-26 08:21:02653semak imbas

Jawapan: Pengubah suai akses yang dilindungi membenarkan subkelas dan kelas dalam pakej yang sama untuk mengakses ahli, sambil menyekat akses kepada kelas dalam pakej lain. Penerangan Terperinci: Ahli yang dilindungi boleh diakses dalam kelas yang menentukan, subkelas dan kelas lain dalam pakej yang sama. Kelas dalam pakej yang berbeza tidak boleh mengakses ahli yang dilindungi. Berkenaan dengan: a) Benarkan subkelas mengakses ahli kelas induk. b) Akses di dalam pakej dibenarkan, tetapi akses di luar pakej disekat. Contohnya, kaedah yang dilindungi getSpeed() bagi Kenderaan kelas induk boleh diakses oleh kereta subkelas, tetapi bukan oleh Lori kelas yang tidak berada dalam pakej yang sama.

Java 函数的访问权限修饰符之 protected 的应用

Pengubah suai akses untuk fungsi Java: dilindungi

Pengenalan

Di Java, protected ialah pengubah suai akses yang digunakan untuk kaedah, medan dan membina tahap akses yang terhad. Ia lebih ketat daripada awam, tetapi mempunyai akses yang kurang mengehadkan daripada default. protected 是一个访问权限修饰符,用于为方法、字段和构造函数指定受限访问级别。它比 public 更具限制性,但比 default 访问权限更宽松。

语义

  • protected 成员可以在定义它们的类中、子类中和同一包中的其他类中访问。
  • 对于不同的包中的类,protected 成员无法访问。

应用

protected 访问权限修饰符常用于以下情况:

  • 当希望子类能够访问父类中的成员,但阻止其他类访问时。
  • 当希望在包中提供对成员的访问,但在包外部防止访问时。

实战案例

考虑一个父类 Vehicle,它有一个 protected 方法 getSpeed()

public abstract class Vehicle {
    protected int speed;

    public void getSpeed() {
        // ...
    }
}

Car 类是 Vehicle 的子类,它可以访问 getSpeed() 方法,因为它继承自 Vehicle

public class Car extends Vehicle {
    public void displaySpeed() {
        // 可以访问父类的 protected 方法
        getSpeed();
    }
}

然而,Truck 类与 Vehicle 不在同一个包中,因此它无法访问 getSpeed() 方法。

// Truck 类在一个不同的包中
public class Truck {
    // 无法访问 Vehicle 中的 protected 方法
    // getSpeed();
}

结论

protected

🎜Semantik🎜🎜
  • dilindungi ahli boleh diakses dalam kelas di mana mereka ditakrifkan, dalam subkelas dan dalam kelas lain dalam pakej yang sama.
  • Untuk kelas dalam pakej yang berbeza, ahli dilindungi tidak boleh diakses.
🎜🎜Aplikasi🎜🎜🎜dilindungi Pengubah suai kebenaran akses sering digunakan dalam situasi berikut: 🎜
  • Apabila anda mahu subkelas dapat akses ahli kelas induk, Tetapi apabila menghalang kelas lain daripada mengakses.
  • Apabila anda ingin memberikan akses kepada ahli dalam pakej tetapi menghalang akses di luar pakej.
🎜🎜Kes praktikal🎜🎜🎜Pertimbangkan kelas induk Kenderaan, yang mempunyai kaedah dilindungi getSpeed() . 🎜rrreee🎜Kelas Kereta ialah subkelas Kenderaan dan ia mempunyai akses kepada kaedah getSpeed() kerana ia mewarisi daripada Vehicle code>. 🎜rrreee🎜Walau bagaimanapun, kelas Trak tidak berada dalam pakej yang sama dengan Kenderaan, jadi ia tidak boleh mengakses kaedah getSpeed(). 🎜rrreee🎜🎜Kesimpulan🎜🎜🎜dilindungi Pengubah suai akses menyediakan cara untuk menyekat akses kepada ahli kelas sambil membenarkan akses kepada subkelas dan kelas lain dalam pakej yang sama. Ia berguna apabila mereka bentuk kelas dengan perhubungan warisan dan menyekat hak akses dalam pakej tertentu. 🎜

Atas ialah kandungan terperinci Aplikasi pengubah akses terlindung untuk fungsi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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