На всеки език за програмиране, абстракция означава скриване на неподходящите детайли от потребителя, за да се съсредоточи само върху съществените детайли, за да увеличи ефективността, като по този начин намали сложността. В Java абстракцията се постига с помощта наабстрактни класове и методи. Нека да научим повече за абстрактния метод в .
Темите, обсъдени в тази статия, са както следва:
- Какво е абстрактен клас?
- Какво представлява абстрактният метод в Java?
- Ket характеристики на абстрактния метод
- Примерна програма: Абстрактен метод в 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“ статия и ние ще се свържем с вас възможно най-скоро.