logo

Rozdíl mezi přetížením metody a přepsáním metody v jazyce Java

Existuje mnoho rozdílů mezi přetížením metody a přepsáním metody v jazyce Java. Níže je uveden seznam rozdílů mezi přetížením metody a přepsáním metody:

Ne.Přetížení metodyPřepsání metody
1)Používá se přetížení metody pro zvýšení čitelnosti programu.Používá se přepsání metody zajistit konkrétní realizaci metody, kterou již poskytuje její supertřída.
2)Provádí se přetížení metody v rámci třídy .Dojde k přepsání metody ve dvou třídách které mají IS-A (dědičnost) vztah.
3)V případě přetížení metody, parametr musí být jiný .V případě přepsání metody, parametr musí být stejný .
4)Přetížení metody je příkladem kompilační časový polymorfismus .Přepsání metody je příkladem polymorfismus doby běhu .
5)V Javě nelze přetížení metody provést pouze změnou návratového typu metody. Návratový typ může být stejný nebo odlišný v přetížení metody. Musíte ale změnit parametr. Návratový typ musí být stejný nebo kovariantní v přepisování metody.

Příklad přetížení metody Java

 class OverloadingExample{ static int add(int a,int b){return a+b;} static int add(int a,int b,int c){return a+b+c;} } 

Příklad přepisování metody Java

 class Animal{ void eat(){System.out.println('eating...');} } class Dog extends Animal{ void eat(){System.out.println('eating bread...');} }