Pembebanan fungsi Java membolehkan penciptaan fungsi dengan tandatangan berbeza tetapi nama yang sama, keterlihatan dikawal oleh tahap kawalan akses, yang menyokong peribadi, peringkat pakej peribadi, dilindungi dan awam. Sebagai contoh, fungsi calculateArea() boleh terlebih beban untuk menerima bulatan atau hujah segi empat sama dan boleh diakses dari lokasi berbeza bergantung pada tahap kawalan akses.
Tahap Kawalan Akses untuk Lebihan Fungsi Java
Pemuatan lebihan fungsi dalam Java membolehkan mentakrifkan berbilang fungsi dengan nama yang sama tetapi tandatangan berbeza. Fungsi ini boleh mempunyai jenis parameter yang berbeza, bilangan parameter dan jenis pulangan. Dalam kelebihan beban fungsi, tahap kawalan capaian menentukan keterlihatan versi berbeza kaedah terlebih beban kepada pakej dan kelas yang berbeza.
Tahap kawalan akses yang disokong oleh kelebihan beban fungsi Java
Bahasa Java menyokong tahap kawalan akses berikut:
Contoh Praktikal
Pertimbangkan contoh berikut di mana fungsi calculateArea()
yang berlebihan menerima parameter berbeza berdasarkan bentuk (bulatan atau segi empat sama): calculateArea()
函数根据形状(圆形或正方形)接受不同的参数:
public class ShapeCalculator { public double calculateArea(Circle circle) { return Math.PI * circle.getRadius() * circle.getRadius(); } public double calculateArea(Square square) { return square.getWidth() * square.getWidth(); } }
在这个示例中,我们声明了 calculateArea()
函数的两个版本:
calculateArea(Circle circle)
接收一个圆形对象作为参数,并返回圆形的面积。calculateArea(Square square)
接收一个正方形对象作为参数,并返回正方形的面积。两个版本的 calculateArea()
函数都可以从任何类中访问,因为它们都声明为 public
rrreee
calculateArea()
diisytiharkan: calculateArea(Circle circle)
menerima objek bulat sebagai parameter dan mengembalikan kawasan bulatan. calculateArea(Square square)
menerima objek segi empat sama sebagai parameter dan mengembalikan luas segiempat sama. calculateArea()
boleh diakses dari mana-mana kelas kerana kedua-duanya diisytiharkan sebagai public
. Oleh itu, kita boleh menggunakan fungsi ini di mana-mana tempat berikut: 🎜Kelas dalam pakej yang sama 🎜🎜Kelas dalam pakej yang berbeza 🎜🎜Dari kaedah utama 🎜🎜🎜Perlu diambil perhatian bahawa tahap kawalan akses adalah berbeza untuk berbeza versi Mengatasi dan mengatasi kaedah beban juga penting. Contohnya, dalam subkelas, anda hanya boleh mengatasi kaedah kelas induk yang mempunyai tahap kawalan akses yang sama atau lebih luas. 🎜Atas ialah kandungan terperinci Apakah tahap kawalan capaian kaedah yang disokong oleh mekanisme beban lampau fungsi Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!