Какво е използването на абстрактния метод в Java?



Тази статия за абстрактния метод в Java ще ви помогне да научите как да постигнете абстракция при използване на програмиране на абстрактни класове и методи в Java

На всеки език за програмиране, абстракция означава скриване на неподходящите детайли от потребителя, за да се съсредоточи само върху съществените детайли, за да увеличи ефективността, като по този начин намали сложността. В Java абстракцията се постига с помощта наабстрактни класове и методи. Нека да научим повече за абстрактния метод в .

Темите, обсъдени в тази статия, са както следва:





Какво е абстрактен клас?

Във всеки , клас, който е деклариран с ключовата дума абстрактно е известен като абстрактен клас. An абстрактен клас улавя общи характеристики на подкласовете и може или не може да съдържа такива абстрактен метод . Той не може да бъде инстанциран, но може да се използва само като суперклас от неговите подкласове.

java за цикъл на фибоначи

По-долу са изброени някои ключови точки по отношение на абстрактния клас:



  • Абстрактен клас може да има конструктори и статични методи
  • Може да има окончателни методи , те принуждават подкласа да не променя тялото на метода
  • Можете да използвате абстрактен клас, като го наследите от друг клас и след това да предоставите реализации на абстрактните методи в него
  • Ако абстрактният клас няма реализация на метод, винаги е по-добре да се използва интерфейс

Клас, деклариран абстрактно, може или не може да включва абстрактни методи. Но какво всъщност е абстрактният метод?

Какво представлява абстрактният метод?

Метод, деклариран без тяло (без изпълнение)в рамките на абстрактния клас е абстрактен метод. С други думи, ако искате a клас да съдържа определен метод, но искате действителното изпълнение на този метод да се определя от дъщерни класове, тогава можете да декларирате метода в родителския клас като абстракт.

функции, които се различават само по своя тип връщане, не могат да бъдат претоварени

Ето как изглежда абстрактният метод в Java:



абстрактно обществено пусто местообитание ()

Основни характеристики на абстрактния метод

По-долу са изброени основните характеристики на абстрактния метод:

  • Абстрактните методи нямат реализация (тяло), те просто имат подпис на метода, както е показано в горния пример
  • Ако клас има абстрактен метод, той трябва да бъде обявен за абстрактен, обратното не е вярно
  • Вместо фигурни скоби, абстрактният метод ще има точка и запетая () в края
  • Ако редовен клас разширява абстрактен клас, тогава класът трябва да приложи всички абстрактни методи на този клас или той също трябва да бъде обявен за абстрактен

Примерна програма: Абстрактен метод в Java

Вижте примерната програма, за да разберете как се постига абстракция с помощта на абстрактни класове и абстрактни методи. Погледнете.

пакет MyPackage // абстрактен клас абстрактен клас Animal {String AnimalName = '' Animal (Име на низа) {this.AnimalName = name} // декларира не абстрактни методи // има изпълнение по подразбиране public void BasicInfo (Подробности за низа) {Система. out.println (this.AnimalName + '' + детайли)} // абстрактни методи, които ще бъдат // приложени от неговия подклас (и) абстрактно публично празно местообитание () абстрактно обществено пусто дишане ()} клас Наземен разширява Animal {// конструктор Terrestrial (String name) {super (name)} @Override public void habitat () {System.out.println ('leave on land and')} @Override public void respiration () {System.out.println ('respire през белите дробове или трахеята. ')}} клас Aquatic разширява Animal {// конструктор Aquatic (Име на низ) {super (име)} @Override обществено пусто местообитание () {System.out.println (' Оставя във вода и ') } @Override публично дишане на празнота () {System.out.println ('издишване през хрилете или кожата им.')}} Class AbstractClassDemo {public static voi d main (String [] args) {// създаване на обект на наземен клас // и използване на справка за клас Animal. Animal object1 = new Terrestrial ('Humans') object1.BasicInfo ('are therestrestities, they') object1.habitat () object1.respiration () System.out.println ('') // създаване на обекти от клас кръг Animal object2 = new Aquatic ('Fishes') object2.BasicInfo ('са водни същества, те') object2.habitat () object2.respiration ()}}

Изход:

Методът Основна информация () е което се използва и от двамата Наземен и Водни класове. Методите среда на живот() и дишане () са абстрактни методи и нямат никакво изпълнение, а само подпис. Наземен и Водни класовете трябва да осигурят собствено изпълнение и за двата метода. Също така обърнете внимание, че и двата метода започват с ключовата дума абстрактно . В този момент може би се чудите как е абстрактен клас различен от интерфейс .

Интерфейс в Java

Друг начин за постигане абстракция в Java е с помощта на интерфейси . Интерфейсът е колекция от абстрактни методи, той не съдържа конкретни , за разлика от абстрактния клас. Но за разлика от абстрактния клас, интерфейсът осигурява пълна абстракция в Java. Той може да има както методи, така и променливи, точно като клас. Методите, декларирани в интерфейс, обаче са абстрактни по подразбиране.

Абстрактните класове и интерфейси са двата основни градивни елементаот . Въпреки че и двете се използват предимно за абстракция, те са много различни един от друг и не могат да се използват взаимозаменяемо.

Това ни води до края на тази статия „Абстрактен метод в Java“. Покрих един от най-често задаваните въпроси , което е абстрактен клас в Java.

сбор от цифри в java

Уверете се, че практикувате възможно най-много и връщате опита си.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Имате въпрос към нас? Моля, споменете го в раздела за коментари на този „Абстрактен метод в Java“ статия и ние ще се свържем с вас възможно най-скоро.