Jeśli chodzi o język programowania Java, to najlepszy wybór . Z koncepcjami takimi jak zajęcia , , itp., praca z nim staje się niezwykle łatwa . Łatwość dostępu i prosta składnia sprawiają, że kod jest wydajny i mniej złożony. W tym artykule dowiemy się o przeciążaniu i zastępowaniu metod w Javie. Poniżej znajdują się tematy omówione na tym blogu:
- Co to jest przeciążanie metod w języku Java?
- Dlaczego przeciążanie metod?
- Przykłady przeciążania metod
- Co to jest nadpisywanie metody?
- Reguły nadpisywania metod
- Przykład przesłaniania metody
- Przeciążanie a zastępowanie: różnice między przeciążeniem metody a zastępowaniem metody
Co to jest przeciążanie metod w języku Java?
Przeciążenie metod pozwala na to, aby metoda miała taką samą nazwę, która różni się na podstawie argumentów lub typów argumentów. Może to być związane z polimorfizmem w czasie kompilacji. Poniżej znajduje się kilka wskazówek, o których musimy pamiętać podczas przeciążania metod w Javie.
Nie możemy przeciążać zwracanego typu.
Chociaż możemy przeciążać , argumenty lub parametry wejściowe muszą być różne.
Nie możemy przeciążyć dwóch metod, jeśli różnią się one tylko statycznym słowem kluczowym.
Podobnie jak inne metody statyczne, metoda main () również może być przeciążona.
Przyjrzyjmy się prostemu programowi, aby zrozumieć, jak działa przeciążanie metod w Pythonie.
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)}}
Wynik: 5 4
W powyższym programie mamy dwie metody o tej samej nazwie, ale różnych parametrach. Tak działa przeciążanie metod w .
Dlaczego przeciążanie metod?
Główną zaletą używania przeciążania metod w Javie jest to, że pozwala nam nie definiować wielokrotnie funkcji w celu robienia tego samego. W poniższym przykładzie te dwie metody zasadniczo wykonują dzielenie, więc możemy mieć różne metody o tej samej nazwie, ale z różnymi parametrami. Pomaga również w polimorfizmie w czasie kompilacji.
Przeciążanie metody main ():
Poniżej znajduje się przykład przeciążenia metody main () w języku 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 (' witamy '+ arg1) Edureka.main (' witamy ',' to edureka ')} public static void main (String arg1, String arg2) {System.out.println (' hello ', + arg1, + arg2)}}
Wynik: witaj witaj edurekan witaj witaj w edurece
Przykłady przeciążania metod
- Program do przeciążania metod statycznych w 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))}}
Wynik: 100 edureka
- Program do przeciążania trzech metod o tej samej nazwie.
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)}}
Wynik: 40 75 34
Co to jest przesłanianie metody w Javie?
Dziedziczenie w Javie obejmuje relację między klasami nadrzędnymi i podrzędnymi. Za każdym razem, gdy obie klasy zawierają metody o tej samej nazwie i argumentach lub parametrach, jest pewne, że jedna z metod przesłania drugą metodę podczas wykonywania. Metoda, która zostanie wykonana, zależy od obiektu.
Jeśli obiekt klasy potomnej wywoła metodę, metoda klasy podrzędnej zastąpi metodę klasy nadrzędnej. W przeciwnym razie, jeśli obiekt klasy nadrzędnej wywoła metodę, zostanie wykonana metoda klasy nadrzędnej.
Nadpisywanie metod pomaga również we wdrażaniu polimorfizmu środowiska uruchomieniowego w java. Weźmy prosty przykład, aby zrozumieć, jak działa zastępowanie metod w Javie.
class Parent {void view () {System.out.println ('to jest metoda klasy nadrzędnej)}} class Child extends Parent {void view () {System.out.println (' to jest metoda klasy potomnej)}} public static void main (String args []) {Parent ob = new Parent () ob.view () Parent ob1 = new Child () ob1.view ()
Wynik: jest to metoda klasy potomnej
Reguły nadpisywania metod
Plik dostęp do edycji może zezwolić tylko na większy dostęp dla zastąpionej metody.
DO finał metoda nie obsługuje zastępowania metody.
Nie można zastąpić metody statycznej.
samouczek Visual Studio dla początkujących
Nie można zastąpić metod prywatnych.
Zwracany typ metody zastępującej musi być taki sam.
Możemy wywołać metodę klasy nadrzędnej w metodzie przesłaniającej za pomocą słowa kluczowego super.
DO budowniczy nie można przesłonić, ponieważ klasa podrzędna i klasa nadrzędna nie mogą mieć konstruktora o tej samej nazwie.
Przykład przesłaniania metody
- Program do wyświetlania nadpisywania za pomocą słowa kluczowego super
class Parent {void show () {System.out.println ('metoda klasy nadrzędnej')} class Child extends Parent {void show () {super.show () System.out.println ('metoda klasy potomnej')} public static void main (String args []) {Parent ob = new Child () ob.show ()}}
Wynik: metoda klasy nadrzędnej metoda klasy potomnej
Przeciążanie a zastępowanie: różnica między przeciążaniem metod a zastępowaniem metod
Poniżej przedstawiono kluczowe różnice między przeciążaniem a zastępowaniem metod w języku Java.
Przeciążanie metod | Zastępowanie metody |
|
|
|
|
|
|
|
|
|
|
|
|
Na tym blogu szczegółowo omówiliśmy przeciążanie metod i nadpisywanie metod. Przy zaangażowaniu klas, obiektów i pojęć, takich jak dziedziczenie i polimorfizm, dość ważne staje się jasne zrozumienie, co to znaczy przeciążać lub zastępować metody w Javie.
Język programowania Java jest szczytem w programowaniu obiektowym i zawiera wiele aplikacji. Ze względu na zapotrzebowanie i popularność, początkujący programista Java musi biegle posługiwać się podstawowymi koncepcjami języka programowania. Zapisz się do Edureka's aby rozpocząć naukę.
Masz do nas pytanie? wspomnij o tym w sekcji komentarzy tego artykułu na temat „przeciążania metod a zastępowanie metod w java”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.