Rumah > Java > javaTutorial > teks badan

Hubungan antara pengubah akses fungsi Java dan warisan

WBOY
Lepaskan: 2024-04-25 15:24:02
asal
1165 orang telah melayarinya

Pengubah kebenaran akses menentukan skop akses kelas, kaedah dan medan serta memainkan peranan penting dalam pewarisan: awam: Benarkan akses kepada semua kelas dan subkelas. dilindungi: membenarkan akses mengikut kelas dan subkelasnya dalam pakej yang sama. lalai: Benarkan akses kepada kelas dalam pakej yang sama. peribadi: Membenarkan akses hanya kepada kelas itu sendiri yang mentakrifkan pengubah suai. Subkelas tidak boleh mengakses ahli kelas induk menggunakan pengubah suai persendirian, tetapi boleh menukar nilai ahli kelas induk dengan pengubah yang dilindungi. Jika anda tidak menentukan pengubah suai akses, ahli akan lalai kepada lalai (skop pakej).

Java 函数的访问权限修饰符之与继承的关系

Hubungan antara pengubah suai akses fungsi Java dan warisan

Pengubah suai akses dalam Java menentukan skop akses kelas, kaedah dan medan serta memainkan peranan penting dalam pewarisan. Berikut ialah hubungan antara pengubah suai akses dan warisan:

  • awam:
  • Memberi akses kepada semua kelas dan subkelas.
  • dilindungi:
  • Memberi akses kepada kelas dan subkelasnya dalam pakej yang sama.
  • lalai (skop pakej):
  • Memberi akses kepada kelas dalam pakej yang sama.
  • peribadi:
  • Memberi akses hanya kepada kelas itu sendiri di mana pengubah suai ini ditakrifkan.

Kes praktikal:

Animal 和一个子类 Dog

public class Animal {
    protected String name;
    public void eat() {
        System.out.println("Eating...");
    }
}

public class Dog extends Animal {
    public void bark() {
        System.out.println("Barking!");
    }
}
Salin selepas log masuk

在上述代码中:

  • Animalname 字段使用 protected 修饰符,因此 Dog 类可以访问它。
  • Animaleat() 方法使用 public 修饰符,因此 Dog 类和其他类都可以调用它。
  • Dogbark() 方法使用 public 修饰符,因此任何类都可以调用它。

注意事项:

  • 子类无法访问父类使用 private 修饰符的成员。
  • 子类可以更改带有 protected 修饰符的父类成员的值。
  • 如果不指定访问权限修饰符,则成员将默认为 defaultAndaikan kita mempunyai kelas induk Haiwan dan subkelas Anjing:
  • rrreee
Dalam kod di atas: 🎜🎜 >🎜 Medan name haiwan menggunakan pengubah suai dilindungi supaya kelas Anjing boleh mengaksesnya. 🎜🎜 Kaedah eat()Haiwan menggunakan pengubah suai awam, jadi ia boleh dipanggil oleh Anjing kelas dan kelas lain itu. 🎜🎜 Kaedah bark()Dog menggunakan pengubah suai public, jadi mana-mana kelas boleh memanggilnya. 🎜🎜🎜🎜Nota: 🎜🎜🎜🎜Subkelas tidak boleh mengakses ahli kelas induk menggunakan pengubah suai peribadi. 🎜🎜Subkelas boleh menukar nilai ahli kelas induk dengan pengubah suai dilindungi. 🎜🎜Jika tiada pengubah suai akses dinyatakan, ahli akan lalai kepada lalai (skop pakej). 🎜🎜

Atas ialah kandungan terperinci Hubungan antara pengubah akses fungsi Java dan warisan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan