logo

Metodo nepaisymas Java

  1. Problemos supratimas be metodo nepaisymo
  2. Ar galime nepaisyti statinio metodo
  3. Metodo perkrovimas prieš metodo nepaisymą

Jei poklasis (antrinė klasė) turi tą patį metodą, kaip ir pirminėje klasėje, jis vadinamas metodo nepaisymas Java .

Kitaip tariant, jei poklasis pateikia konkretų metodo įgyvendinimą, kurį paskelbė viena iš pirminių klasių, tai vadinama metodo nepaisymu.

„Java“ metodo nepaisymas

  • Metodo nepaisymas naudojamas norint pateikti specifinį metodo įgyvendinimą, kurį jau teikia jo superklasė.
  • Metodo nepaisymas naudojamas vykdymo laiko polimorfizmui

„Java“ metodo nepaisymo taisyklės

  1. Metodo pavadinimas turi būti toks pat kaip ir pirminėje klasėje
  2. Metodas turi turėti tą patį parametrą kaip ir pirminėje klasėje.
  3. Turi būti IS-A ryšys (paveldėjimas).
„Java“ metodo nepaisymo taisyklės

Problemos supratimas be metodo nepaisymo

Supraskime problemą, su kuria galime susidurti programoje, jei nenaudosime metodo nepaisymo.

 //Java Program to demonstrate why we need method overriding //Here, we are calling the method of parent class with child //class object. //Creating a parent class class Vehicle{ void run(){System.out.println('Vehicle is running');} } //Creating a child class class Bike extends Vehicle{ public static void main(String args[]){ //creating an instance of child class Bike obj = new Bike(); //calling the method with child class instance obj.run(); } } 
Išbandykite dabar

Išvestis:

 Vehicle is running 

Problema ta, kad turiu pateikti konkretų run() metodo įgyvendinimą poklasyje, todėl mes naudojame metodo nepaisymą.


Metodo nepaisymo pavyzdys

Šiame pavyzdyje apibrėžėme paleidimo metodą poklasyje, kaip apibrėžta pagrindinėje klasėje, tačiau jis turi tam tikrą įgyvendinimą. Metodo pavadinimas ir parametras yra vienodi, o tarp klasių yra IS-A ryšys, todėl yra metodo nepaisymas.

 //Java Program to illustrate the use of Java Method Overriding //Creating a parent class. class Vehicle{ //defining a method void run(){System.out.println('Vehicle is running');} } //Creating a child class class Bike2 extends Vehicle{ //defining the same method as in the parent class void run(){System.out.println('Bike is running safely');} public static void main(String args[]){ Bike2 obj = new Bike2();//creating object obj.run();//calling method } } 
Išbandykite dabar

Išvestis:

 Bike is running safely 

Tikras „Java Method Overriding“ pavyzdys

Apsvarstykite scenarijų, kai Bankas yra klasė, kuri suteikia funkcionalumą norint gauti palūkanų normą. Tačiau palūkanų norma skiriasi priklausomai nuo bankų. Pavyzdžiui, SBI, ICICI ir AXIS bankai galėtų teikti 8%, 7% ir 9% palūkanų normas.

„Java“ metodą dominuojantis banko pavyzdys

Java metodo nepaisymas dažniausiai naudojamas Runtime Polymorphism, kurį sužinosime kituose puslapiuose.

 //Java Program to demonstrate the real scenario of Java Method Overriding //where three classes are overriding the method of a parent class. //Creating a parent class. class Bank{ int getRateOfInterest(){return 0;} } //Creating child classes. class SBI extends Bank{ int getRateOfInterest(){return 8;} } class ICICI extends Bank{ int getRateOfInterest(){return 7;} } class AXIS extends Bank{ int getRateOfInterest(){return 9;} } //Test class to create objects and call the methods class Test2{ public static void main(String args[]){ SBI s=new SBI(); ICICI i=new ICICI(); AXIS a=new AXIS(); System.out.println('SBI Rate of Interest: '+s.getRateOfInterest()); System.out.println('ICICI Rate of Interest: '+i.getRateOfInterest()); System.out.println('AXIS Rate of Interest: '+a.getRateOfInterest()); } } 
Išbandykite dabar
 Output: SBI Rate of Interest: 8 ICICI Rate of Interest: 7 AXIS Rate of Interest: 9 

Ar galime nepaisyti statinio metodo?

Ne, statinio metodo negalima nepaisyti. Tai gali būti įrodyta vykdymo laiko polimorfizmu, todėl sužinosime vėliau.


Kodėl negalime nepaisyti statinio metodo?

Taip yra todėl, kad statinis metodas yra susietas su klase, o egzempliorių metodas yra susietas su objektu. Statinis priklauso klasės sričiai, o egzempliorius priklauso krūvos sričiai.


Ar galime nepaisyti pagrindinio java metodo?

Ne, nes pagrindinis yra statinis metodas.


Skirtumas tarp metodo perkrovimo ir metodo nepaisymo Java

Spustelėkite mane, kad pamatytumėte skirtumą tarp metodo perkrovimo ir nepaisymo


Daugiau temų apie metodo nepaisymą (ne pradedantiesiems)

Metodo nepaisymas naudojant prieigos modifikatorių

Pažiūrėkime metodo nepaisymo su prieigos modifikatoriumi koncepciją.

Išimčių tvarkymas su metodo nepaisymu

Pažvelkime į metodo nepaisymo su išimčių tvarkymu koncepciją.