Cet article vous apporte une introduction comparative à la couverture des méthodes et à la surcharge des méthodes en Java. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Signature de méthode
La signature de méthode fait référence au type de paramètre, à l'ordre et au numéro de la méthode. Elle n'inclut pas le nom de la méthode.
<.>Surcharge
La surcharge doit remplir les conditions suivantesLe nom de la méthode est le même
Au moins un des types de paramètres , le numéro et l'ordre de la méthode sont différentsLe type de retour de la méthode peut être différentLe modificateur d'accès de la méthode peut être différentoverride
si définie dans une sous-classe Une méthode dont le nom, le type de retour et la signature du paramètre correspondent exactement au nom, au type de retour et à la signature du paramètre d'une méthode dans la classe parent, alors la sous-classe remplace la méthode du parent classe. Le remplacement doit remplir les conditions suivantes :
//创建父类型的变量,引用子类的实例 Parent parent = new Child(); //调用的是子类实例的方法,如果子类覆盖这个方法时,缩小了访问权限,可能会造成无法访问到子类实例的这个方法 parent.method();Les méthodes de sous-classe ne peuvent pas lever plus d'exceptions que les méthodes de classe parent. Les exceptions levées par les méthodes de sous-classe doivent être les mêmes que les exceptions levées par les méthodes de classe parent, ou les exceptions levées par les méthodes de classe parent. une sous-classe d'une classe dont la méthode de classe parent lève une exception. La couverture de méthode n'existe qu'entre la sous-classe et la classe parent (y compris la classe parent directe et la classe parent indirecte). Dans la même classe, les méthodes ne peuvent être surchargées). et ne peut pas être substituée.La méthode statique de la classe parent ne peut pas être substituée en tant que méthode non statique par la sous-classe.La méthode non statique de la classe parent ne peut pas être substituée car une méthode statique par la sous-classe
Les méthodes privées de la classe parent ne peuvent pas être remplacées par les sous-classesLes méthodes non abstraites de la classe parent peuvent être remplacées par les sous-classes en tant que méthodes abstraites Similitudes et différences1. SimilitudesLes noms de méthodes doivent être cohérents2 DifférencesLa couverture des méthodes nécessite que les signatures des paramètres soient cohérentes, tandis que la méthode. la surcharge nécessite que les signatures des paramètres soient incohérentes.Exigences de couverture Si le type de retour est cohérent ou si le type de retour de la méthode de sous-classe est plus petit que la méthode de la classe parent, la surcharge n'impose aucune restriction à ce sujet.
La substitution ne peut être utilisée que pour les sous-classes pour remplacer les méthodes de la classe parent, et la surcharge est utilisée pour les méthodes de la même classe. Toutes les méthodes (y compris les méthodes héritées de la classe parent
Il existe des exigences pour). remplaçant les autorisations d'accès et lançant des exceptions de méthodes, et il n'y a aucune restriction sur la surcharge
L'une des méthodes de la classe parent A ne peut être remplacée qu'une seule fois par une sous-classe, et une méthode peut être surchargée plusieurs fois dans le. classe dans laquelle il se trouve.
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!