La surcharge de fonctions Java permet la création de fonctions avec des signatures différentes mais le même nom, la visibilité est contrôlée par le niveau de contrôle d'accès, qui prend en charge privé, privé au niveau du package, protégé et public. Par exemple, la fonction calculateArea() peut être surchargée pour accepter un argument cercle ou carré et être accessible depuis différents emplacements en fonction du niveau de contrôle d'accès.
Niveaux de contrôle d'accès pour la surcharge de fonctions Java
La surcharge de fonctions en Java permet de définir plusieurs fonctions avec le même nom mais des signatures différentes. Ces fonctions peuvent avoir différents types de paramètres, nombres de paramètres et types de retour. Dans la surcharge de fonctions, le niveau de contrôle d'accès détermine la visibilité des différentes versions de la méthode surchargée sur différents packages et classes.
Niveaux de contrôle d'accès pris en charge par la surcharge de fonctions Java
Le langage Java prend en charge les niveaux de contrôle d'accès suivants :
Exemple pratique
Considérons l'exemple suivant où la fonction surchargée calculateArea()
accepte différents paramètres en fonction de la forme (cercle ou carré) : 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()
sont déclarés : calculateArea(Circle circle)
reçoit un objet circulaire en paramètre et renvoie l'aire du cercle. calculateArea(Square square)
reçoit un objet carré en paramètre et renvoie l'aire du carré. calculateArea()
sont accessibles depuis n'importe quelle classe car elles sont toutes deux déclarées comme public
. Par conséquent, nous pouvons utiliser ces fonctions n'importe où : 🎜Classes au sein d'un même package 🎜🎜Classes au sein de différents packages 🎜🎜Depuis la méthode principale 🎜🎜🎜Il convient de noter que le niveau de contrôle d'accès est différent selon les versions Remplacement et surcharge de charge les méthodes sont également importantes. Par exemple, dans une sous-classe, vous pouvez uniquement remplacer les méthodes de la classe parent qui ont un niveau de contrôle d'accès identique ou plus large. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!