Com implementar ocultació de mètodes a Java

Aquest article us proporcionarà un coneixement detallat i complet sobre com implementar l’amagament de mètodes a Java amb exemples.

En , cal anar amb compte amb la possibilitat d’amagar mètodes. Un mètode creat amb el mateix tipus i signatura a la subclasse pot amagar variables en una superclasse. En aquest article, entendrem l’ocultació de mètodes a Java de la manera següent:



Què és l'amagatall de mètodes?

L’amagatall de mètodes és molt similar funcionalment als mètodes de substitució. En cas de substitució, si creeu un mètode a la subclasse amb el mateix tipus i la mateixa signatura a la subclasse, permet la crida de mètodes basats en el tipus d’instància.



Logotip de Java

En el cas de mètodes estàtics amb el mateix tipus isignatura en superclasse i subclasse, llavors el mètode de la subclasse amaga el mètode de la superclasse.



Mètode que amaga el codi Java

package com.test class Parent {public static void foo () {System.out.println ('Mètode Inside foo in class parent')} public void bar () {System.out.println ('Mètode de la barra inside in class parent' )}} classe Child extends Parent {// Ocultació del buit estàtic públic foo () {System.out.println ('Mètode Inside foo a la classe secundària')}} // Barra de buit pública anul·ladora () {System.out.println (' Mètode de barra dins de la classe infantil ')}} public class Codi {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Ocultació del mètode ******************* ') p.foo () // Això cridarà mètode a la classe pare c .foo () // Això cridarà al mètode de la classe pare System.out.println ('**************** Mètode que substitueix ************ ******* ') p.bar () // Això cridarà el mètode a la classe pare c.bar () // Això cridarà el mètode a la classe infantil}}

Sortida:

A l’anteriorper exemple, la subclasse Child té un mètode estàtic foo () que té el mateix nom i signatura que un mètode estàtic a la superclasse Parent. Quan anomenem p.foo () i c.foo () es diu mètode foo () a la classe pare



a diferència de la substitució del mètode on p.bar () crida al mètode a la classe pare i c.bar () crida al mètode a la classe fill.

què fa .trim a Java

Com que els mètodes estàtics es resolen en el moment de la compilació, mentre es compleix la primera classe pare i després la classe fill, i no podemtenen dos mètodes estàtics amb el mateix nom, els dos mètodes foo es resolen com a mètode foo () de la classe pare.

Resum

Si una subclasse té un mètode estàtic amb el mateix nom i signatura que un mètode estàtic a la superclasse, el mètode de la superclasse es cridarà independentment del fet que es cridi des de la classe fill o la classe pare.

En cas de substitució del mètode, substituïm el mètode de la classe pare, és a dir, si una subclasse té un mètode no estàtic amb el mateix nom i signatura que un mètode no estàtic a la superclasse, es criden els mètodes respectius segons la referència utilitzada, és a dir, si l'objecte és de classe pare s’utilitza per cridar mètode no estàtic a classe pare, llavors s’utilitza mètode de classe pare i si s’utilitza objecte de classe fill per cridar mètode no estàtic a classe fill, s’utilitza mètode de classe fill.

Amb això, arribem al final d’aquest article de Mètode d’ocultació a Java. Consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. El curs de formació i certificació Java J2EE i SOA d’Edureka està dissenyat per a estudiants i professionals que vulguin ser desenvolupador de Java.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc “Amaga mètodes a Java” i us respondrem el més aviat possible.