I måste du vara försiktig med möjligheten att dölja metoden. En metod som skapats med samma typ och signatur i underklassen kan dölja variabler i en superklass. I den här artikeln kommer vi att förstå Method Hiding in Java på följande sätt:
Vad är metodgömning?
Metodgömning är funktionellt mycket lik metoder som åsidosätter. I åsidosättande om du skapar en metod i underklass med samma typ och signatur i underklass tillåter det anrop av metoder baserat på typ av förekomst.
När det gäller statiska metoder av samma typ ochsignatur i superklass och underklass, sedan döljer metoden i underklassen metoden i superklassen.
Metod Dölja Java-kod
paketet com.test class Parent {public static void foo () {System.out.println ('Inside foo method in parent class')} public void bar () {System.out.println ('Inside bar method in parent class') )}} klass Barn utvidgar förälder {// Döljer offentlig statisk ogiltig foo () {System.out.println ('Inom foo-metod i underklass')} // Åsidosättande offentlig tomrumsfält () {System.out.println (' Invändig stapelmetod i underklass ')}} allmän klass Kod {offentlig statisk ogiltig huvud (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Metod gömmer sig ****************** ') p.foo () // Detta kommer att anropa metoden i överordnad klass c .foo () // Detta kommer att anropa metoden i överordnad klass System.out.println ('**************** Method overriding ************ ******* ') p.bar () // Detta kommer att ringa metoden i överordnad klass c.bar () // Detta kommer att ringa metod i underklass}}
Produktion:
I ovanståendetill exempel har underklassen Child statisk metod foo () med samma namn och signatur som en statisk metod i superklass Parent. När vi ringer p.foo () och c.foo () kallas det foo () -metoden i föräldraklassen
skillnaden mellan css och css3
till skillnad från i metodöverstyrning där p.bar () anropar metoden i överordnad klass och c.bar () anropar metoden i underklass.
Eftersom statiska metoder löses vid kompileringstidpunkten följs första föräldraklassen och sedan barnklassen, och vi kan intehar två statiska metoder med samma namn, båda foo-metoderna löses som foo () -metoden för moderklassen.
Sammanfattning
Om en underklass har en statisk metod med samma namn och signatur som en statisk metod i superklassen kommer metoden i superklassen att ringas oavsett om den anropas från barnklass eller föräldraklass.
Vid metodöverstyrning åsidosätter vi metoden från överordnad klass, dvs. om en underklass har en icke-statisk metod med samma namn och signatur som en icke-statisk metod i superklassen kallas respektive metoder beroende på vilken referens som används, dvs. om objekt av föräldraklassen används för att anropa icke-statisk metod i föräldraklassen används metod från förälderklassen och om objekt av barnklass används för att anropa icke-statisk metod i underklass används metod från underklass.
Med detta kommer vi till slutet av den här metoden Dölj i Java-artikeln. Kolla in av Edureka, ett pålitligt inlärningsföretag online med ett nätverk av mer än 250 000 nöjda elever spridda över hela världen. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för studenter och yrkesverksamma som vill vara Java-utvecklare.
Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna 'Metod gömmer sig i Java' -bloggen så kommer vi tillbaka till dig så snart som möjligt.