Разлика между коремните мускулиtract Клас и интерфейс в Java
Ключова разлика между коремните мускулиtract Клас и интерфейс в Java
- В Interface, един клас може да имплементира множество интерфейси, докато един клас може да наследи само един Abs.tracт Клас.
- В интерфейса няма модификатори за достъп. Всичко, дефинирано вътре в интерфейса, се приема, че има публичен модификатор, докато AbstracКласът t може да има модификатор за достъп.
- Интерфейсът не може да съдържа полета за данни, докато abstracКласът t може да има полета за данни.
- Интерфейсите помагат да се дефинират периферните способности на даден клас, докато коремните мускули...tract класът определя идентичността на даден клас.
Какво е коремtracКлас т?
Клас, който има коремни мускулиtracКлючовата дума t в декларацията си се нарича abstract клас. Коремни мускулиtract класовете трябва да имат нула или повече коремни мускулиtracт методи. т.е. методи без тяло. Може да има множество конкретни методи. Абс.tract класовете ви позволяват да създавате чертежи за конкретни класове. Но наследяващият клас трябва да имплементира abstract метод. Абс.tract-класовете не могат да бъдат инстанцирани.
Важни причини за използване на интерфейси
- Използват се интерфейси за постигане коремни мускулиtracАЦИ.
- Проектиран да поддържа динамична резолюция на метода по време на изпълнение
- Помага ви да постигнете хлабаво свързване.
- Позволява ви да отделите дефиницията на метод от йерархията на наследяване
Важни причини за използване на коремни мускулиtracт клас
- Коремни мускулиtract класовете предлагат функционалност по подразбиране за подкласовете.
- Предоставя шаблон за бъдещи специфични класове
- Помага ви да дефинирате общ интерфейс за неговите подкласове
- Коремни мускулиtracКласът t позволява повторна употреба на код.
Какво е интерфейс?
Интерфейсът е план, който може да се използва за имплементиране на клас. Интерфейсът не съдържа никакви конкретни методи (методи, които имат код). Всички методи на интерфейса са abstract методи. Интерфейсът не може да бъде инстанциран. Класовете, които имплементират интерфейси, обаче могат да бъдат инстанцирани. Интерфейсите никога не съдържат инстанционни променливи, но могат да съдържат публични статични крайни променливи (т.е. константни променливи на класа).
Разлика между интерфейс и Abstracт Клас в Java
Коремни мускулиtracКласът t ви позволява да създавате функционалност, която подкласовете могат да имплементират или презапишат, докато интерфейсът ви позволява само да декларирате функционалност, но не и да я имплементирате. Класът може да разширява само един абстрактен език (abs).tract клас, докато един клас може да реализира множество интерфейси.
| параметри | Interface | Коремни мускулиtracТ-клас |
|---|---|---|
| Скорост | Бавен | Бързо |
| Множество наследства | Реализирайте няколко интерфейса | Само един коремtracТ-клас |
| структура | Коремни мускулиtracт методи | Коремни мускулиtracт и бетонни методи |
| Кога да използвате | Бъдещо подобрение | За да избегнете независимостта |
| Наследяване/ Внедряване | Един клас може да реализира множество интерфейси | Класът може да наследи само един Abs.tracт клас |
| Внедряване по подразбиране | Докато добавяте нови неща към интерфейса, е кошмар да намерите всички изпълнители и да внедрите новодефинирани неща. | В случай на коремни мускулиtract Class, можете да се възползвате от имплементацията по подразбиране. |
| Модификатори на достъп | Интерфейсът няма модификатори за достъп. Всичко, дефинирано вътре в интерфейса, се приема за публичен модификатор. | Коремни мускулиtracКласът t може да има модификатор за достъп. |
| Кога да използвате | По-добре е да се използва интерфейс, когато различни реализации споделят само сигнатура на метод. Полиморфна йерархия на типове стойности. | Трябва да се използва, когато различни реализации от един и същи вид споделят общо поведение. |
| Полета за данни | интерфейсът не може да съдържа полета с данни. | класът може да има полета за данни. |
| Множествено наследяване по подразбиране | Един клас може да реализира множество интерфейси. | Класът наследява само един abstracт клас. |
| изпълнение | Интерфейсът е ABStract, така че да не може да предостави никакъв код. | Коремни мускулиtracКласът t може да даде пълен код по подразбиране, който трябва да бъде презаписан. |
| Използване на модификатори на Access | Не можете да използвате модификатори за достъп за метода, свойствата и т.н. | Можете да използвате коремни мускулиtract клас, който съдържа модификатори за достъп. |
| употреба | Интерфейсите помагат да се дефинират периферните способности на даден клас. | Коремни мускулиtract класът определя идентичността на даден клас. |
| Дефинирани полета | Не могат да се дефинират полета | Коремни мускулиtracКласът t ви позволява да дефинирате както полета, така и константи. |
| наследяване | Един интерфейс може да наследи множество интерфейси, но не може да наследи клас. | Коремни мускулиtracКласът t може да наследи клас и множество интерфейси. |
| Конструктор или деструктори | Интерфейсът не може да декларира конструктори или деструктори. | Коремни мускулиtracКласът t може да декларира конструктори и деструктори. |
| Ограничение на разширенията | Може да разшири произволен брой интерфейси. | Може да се разшири само с един клас или един коремtract клас наведнъж. |
| Коремни мускулиtracключова дума t | В коремни мускулиtracКлючовата дума t interface е незадължителна за деклариране на метод като abstract. | В коремни мускулиtract клас, коремните мускулиtracКлючовата дума t е задължителна за деклариране на метод като abstract. |
| Тип клас | Интерфейсът може да има само публични abstracт методи. | Коремни мускулиtract клас има защитени и обществени абс.tracт методи. |
Примерен код за интерфейс и Abstracт Клас в Java
Следва примерен код за създаване на интерфейс и ABStracт клас в Java
Синтаксис на интерфейса
interface name{
//methods
}
Java Пример за интерфейс:
interface Pet {
public void test();
}
class Dog implements Pet {
public void test() {
System.out.println("Interface Method Implemented");
}
public static void main(String args[]) {
Pet p = new Dog();
p.test();
}
}
Коремни мускулиtracСинтаксис на клас t
abstract class name{
// code
}
Коремни мускулиtracпример за t клас:
abstract class Shape {
int b = 20;
abstract public void calculateArea();
}
public class Rectangle extends Shape {
public static void main(String args[]) {
Rectangle obj = new Rectangle();
obj.b = 200;
obj.calculateArea();
}
public void calculateArea() {
System.out.println("Area is " + (b * b));
}
}

