Il linguaggio di programmazione Java è la scelta migliore quando si tratta di . Con concetti come classi , , , ecc, diventa estremamente facile lavorare con . La facilità di accesso e la sintassi semplice rendono il codice efficiente e anche meno complesso. In questo articolo, impareremo il sovraccarico e l'override dei metodi in Java. Di seguito sono riportati gli argomenti discussi in questo blog:
- Che cos'è il sovraccarico del metodo in Java?
- Perché il sovraccarico del metodo?
- Esempi di sovraccarico del metodo
- Che cos'è l'override del metodo?
- Regole per l'override del metodo
- Esempio di sostituzione del metodo
- Overload vs override: differenze tra override del metodo e override del metodo
Che cos'è il sovraccarico del metodo in Java?
Il sovraccarico del metodo consente al metodo di avere lo stesso nome che differisce in base agli argomenti o ai tipi di argomento. Può essere correlato al polimorfismo in fase di compilazione. Di seguito sono riportati alcuni suggerimenti che dobbiamo tenere a mente durante il sovraccarico dei metodi in Java.
Non è possibile sovraccaricare un tipo restituito.
Anche se possiamo sovraccaricare , gli argomenti oi parametri di input devono essere diversi.
Non possiamo sovraccaricare due metodi se differiscono solo per una parola chiave statica.
Come altri metodi statici, anche il metodo main () può essere sovraccaricato.
Diamo un'occhiata a un semplice programma per capire come funziona il sovraccarico dei metodi in Python.
public class Div {public int div (int a, int b) {return (a / b)} public int div (int a, int b, int c) {return ((a + b) / c)} public static void main (String args []) {Div ob = new Div () ob.div (10, 2) ob.div (10, 2, 3)}}
Produzione: 5 4
Nel programma sopra, abbiamo due metodi con lo stesso nome ma parametri diversi. Ecco come funziona il sovraccarico del metodo .
Perché il sovraccarico del metodo?
Il vantaggio principale dell'utilizzo del sovraccarico del metodo in Java è che ci dà la libertà di non definire una funzione più e più volte per fare la stessa cosa. Nell'esempio seguente, i due metodi eseguono sostanzialmente la divisione, quindi possiamo avere metodi diversi con lo stesso nome ma con parametri diversi. Aiuta anche nel polimorfismo in fase di compilazione.
Sovraccarico del metodo main ():
Di seguito è riportato un esempio per eseguire l'overload del metodo main () in java.
public class Edureka {public static void main (String [] args) {System.out.println ('hello') Edureka.main ('edurekan')} public static void main (String arg1) {System.out.println (' welcome '+ arg1) Edureka.main (' welcome ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
Produzione: ciao benvenuto edurekan ciao, benvenuto in edureka
Esempi di sovraccarico del metodo
- Programma per sovraccaricare i metodi statici in java.
public class Test {public static int func (int a) {return 100} public static char func (int a, int b) {return 'edureka'} public static void main (String args []) {System.out.println ( func (1)) System.out.println (func (1,3))}}
Produzione: 100 edureka
- Programma per sovraccaricare tre metodi con lo stesso nome.
public class Add {public int add (int a, int b) {return (a + b)} public int add (int a, int b, int c) {return (a + b + c)} public double add (double a, double b) {return (a + b)} public static void main (String args []) {Add ob = new Add () ob.add (15,25) ob.add (15,25,35) ob .add (11.5, 22.5)}}
Produzione: 40 75 34
Che cos'è l'override del metodo in Java?
L'ereditarietà in java implica una relazione tra le classi padre e figlio. Ogni volta che entrambe le classi contengono metodi con lo stesso nome e argomenti o parametri, è certo che uno dei metodi sovrascriverà l'altro metodo durante l'esecuzione. Il metodo che verrà eseguito dipende dall'oggetto.
Se l'oggetto della classe figlio chiama il metodo, il metodo della classe figlio sovrascriverà il metodo della classe genitore. Altrimenti, se l'oggetto della classe genitore chiama il metodo, verrà eseguito il metodo della classe genitore.
L'override del metodo aiuta anche a implementare il polimorfismo di runtime in java. Facciamo un semplice esempio per capire come funziona l'override del metodo in java.
come usare tostring in java
class Parent {void view () {System.out.println ('this is a parent class method)}} class Child extends Parent {void view () {System.out.println (' this is a child class method)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
Produzione: questo è un metodo di classe figlio
Regole per l'override del metodo
Il accedere a modifica può solo consentire un maggiore accesso per il metodo sovrascritto.
PER finale metodo non supporta l'override del metodo.
Un metodo statico non può essere sovrascritto.
I metodi privati non possono essere sovrascritti.
Il tipo restituito del metodo di sostituzione deve essere lo stesso.
Possiamo chiamare il metodo della classe genitore nel metodo override utilizzando la parola chiave super.
PER costruttore non può essere sovrascritto perché una classe figlia e una classe genitore non possono avere il costruttore con lo stesso nome.
Esempio di sostituzione del metodo
- Programma per mostrare l'override utilizzando la parola chiave super
class Parent {void show () {System.out.println ('parent class method')} class Child extends Parent {void show () {super.show () System.out.println ('child class method')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
Produzione: metodo della classe genitore metodo della classe figlio
Overload vs override: differenza tra overload del metodo e override del metodo
Di seguito sono riportate le principali differenze tra il sovraccarico del metodo e l'override in Java.
Metodo di sovraccarico | Sostituzione del metodo |
|
|
|
|
|
|
|
|
|
|
|
|
In questo blog, abbiamo discusso in dettaglio il sovraccarico del metodo e l'override del metodo. Con il coinvolgimento di classi, oggetti e concetti come ereditarietà e polimorfismo diventa abbastanza importante avere un'idea chiara di cosa significhi sovraccaricare o sovrascrivere i metodi in java.
Il linguaggio di programmazione Java è un apice nella programmazione orientata agli oggetti e incorpora molte applicazioni. Con la domanda e la popolarità, un aspirante sviluppatore Java deve essere esperto nei concetti fondamentali del linguaggio di programmazione. Iscriviti a Edureka's per dare il via al tuo apprendimento.
Hai domande per noi? si prega di menzionarlo nella sezione commenti di questo articolo su 'Override del metodo vs override del metodo in Java' e ti risponderemo il prima possibile.