Cum se implementează ascunderea metodelor în Java



Acest articol vă va oferi o cunoaștere detaliată și cuprinzătoare despre cum să implementați ascunderea metodelor în Java cu exemple.

În , trebuie să fii atent cu privire la posibilitatea ascunderii metodei. O metodă creată cu același tip și semnătură în subclasă poate ascunde variabile într-o superclasă. În acest articol, vom înțelege ascunderea metodelor în Java în modul următor:

Ce este ascunderea metodelor?

Ascunderea metodelor este funcțională foarte similară cu metodele de suprascriere. În suprascriere, dacă creați o metodă în subclasă cu același tip și semnătură în subclasă, atunci permite apelarea metodelor bazate pe tipul instanței.





Logo-ul Java

În cazul metodelor statice cu același tip șisemnătura în superclasă și subclasă, apoi metoda din subclasă ascunde metoda din superclasă.



Metoda de ascundere a codului Java

package 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' )}} clasa Child extends Parent {// Hiding public static void foo () {System.out.println ('Inside foo method in class child')} // Overriding public void bar () {System.out.println (' Metoda barei din clasa copil ')}} clasă publică Cod {public static void main (String [] args) {Parent p = new Parent () Parent c = new Child () System.out.println (' **** ************ Metoda de ascundere ******************* ') p.foo () // Aceasta va apela metoda din clasa părinte c .foo () // Aceasta va apela metoda din clasa părinte System.out.println ('**************** Metoda suprascriere ************ ******* ') p.bar () // Aceasta va apela metoda în clasa părinte c.bar () // Aceasta va apela metoda în clasa copil}}

Ieșire:

În cele de mai susde exemplu, subclasa Child are metoda statică foo () având același nume și semnătură ca o metodă statică în super-clasă Parent. Când apelăm p.foo () și c.foo (), apelează metoda foo () în clasa părinte



spre deosebire de metoda overriding unde p.bar () apelează metoda din clasa părinte și c.bar () apelează metoda din clasa copil.

diferența dintre extinde și unelte

Deoarece metodele statice sunt rezolvate la momentul compilării, în timp ce se îndeplinește prima clasă părinte de compilare și apoi clasa copil, și nu putemau două metode statice cu același nume, ambele metode foo sunt rezolvate ca metodă foo () a clasei părinte.

rezumat

Dacă o subclasă are o metodă statică cu același nume și semnătură ca o metodă statică în superclasă, atunci metoda din super-clasă va fi apelată indiferent de faptul că este apelată din clasa copil sau din clasa părinte.

În cazul suprascrierii metodei, suprascriem metoda din clasa părinte, adică dacă o subclasă are o metodă nestatică cu același nume și semnătură ca o metodă nestatică în superclasă, atunci metodele respective sunt apelate în funcție de referința utilizată, adică dacă din clasa părinte este utilizată pentru a apela metoda nestatică în clasa părinte, atunci se utilizează metoda din clasa părinte și dacă obiectul clasei copil este folosit pentru a apela metoda nestatică în clasa copil, atunci se utilizează metoda din clasa copil.

Cu aceasta, ajungem la sfârșitul acestui articol Metodă ascundere în Java. Verificați de Edureka, o companie de învățare online de încredere, cu o rețea de peste 250.000 de elevi mulțumiți răspândiți pe tot globul. Cursul de formare și certificare Java J2EE și SOA al Edureka este conceput pentru studenți și profesioniști care doresc să fie dezvoltator Java.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog „Metodă ascunsă în Java” și vă vom contacta cât mai curând posibil.