Diferența dintre abdomentracClasa t și interfața în Java
Diferența cheie între abdomentracClasa t și interfața în Java
- Într-o interfață, o clasă poate implementa mai multe interfețe, în timp ce clasa poate moșteni doar un singur element Abs.tracClasa t.
- În Interfață nu există modificatori de acces. Se presupune că tot ce este definit în interiorul Interfeței are un modificator public, în timp ce AbstracClasa t poate avea un modificator de acces.
- Interfața nu poate conține câmpuri de date, în timp ce abstracClasa t poate avea câmpuri de date.
- Interfețele ajută la definirea abilităților periferice ale unei clase, în timp ce un abdomentracClasa t definește identitatea unei clase.
Ce este un abdomentracClasa t?
O clasă care are abdomenultracCuvântul cheie t din declarația sa se numește abstracClasa T. AbdomentracClasele t ar trebui să aibă zero sau mai mulți abdomenetracmetode t. adică metode fără corp. Poate avea mai multe metode concrete. AbstracClasele t vă permit să creați planuri pentru clase concrete. Dar clasa moștenitoare ar trebui să implementeze abs-ultracMetoda t. AbdomentracClasele t nu pot fi instanțiate.
Motive importante pentru utilizarea interfețelor
- Interfețele sunt folosite pentru a realiza abstracTION.
- Proiectat pentru a sprijini rezoluția dinamică a metodei în timpul rulării
- Vă ajută să obțineți o cuplare liberă.
- Vă permite să separați definiția unei metode de ierarhia moștenirii
Motive importante pentru utilizarea exercițiilor abdominaletracClasa t
- AbstracClasele t oferă funcționalități implicite pentru subclase.
- Oferă un șablon pentru clasele specifice viitoare
- Vă ajută să definiți o interfață comună pentru subclasele sale
- AbstracClasa t permite reutilizarea codului.
Ce este o interfață?
Interfața este un plan care poate fi folosit pentru a implementa o clasă. Interfața nu conține metode concrete (metode care au cod). Toate metodele unei interfețe sunt absolute.tracmetode t. O interfață nu poate fi instanțiată. Cu toate acestea, clasele care implementează interfețe pot fi instanțiate. Interfețele nu conțin niciodată variabile de instanță, dar pot conține variabile finale statice publice (adică variabile de clasă constante).
Diferența dintre interfață și ABStracClasa t în Java
Un abdomentracClasa t vă permite să creați funcționalități pe care subclasele le pot implementa sau suprascrie, în timp ce o interfață vă permite doar să declarați funcționalitatea, dar nu și să o implementați. O clasă poate extinde doar o absență.tracclasa t în timp ce o clasă poate implementa mai multe interfețe.
| parametrii | interfaţă | Abstracclasa t |
|---|---|---|
| Viteză | Încetini | Rapid |
| Moșteniri multiple | Implementați mai multe interfețe | Doar un abdomentracclasa t |
| Structure | Abstracmetode t | Abstracmetode de beton |
| Când să folosiți | Îmbunătățirea viitoare | Pentru a evita independența |
| Moștenire/ Implementare | O clasă poate implementa mai multe interfețe | Clasa poate moșteni doar un singur Abs.tracClasa t |
| Implementare implicită | În timp ce adăugați lucruri noi la interfață, este un coșmar să găsiți toți implementatorii și să implementați lucruri nou definite. | În cazul abstracÎn clasa t, puteți profita de implementarea implicită. |
| Modificatori de acces | Interfața nu are modificatori de acces. Tot ceea ce este definit în interiorul interfeței este considerat modificator public. | AbstracClasa t poate avea un modificator de acces. |
| Când să folosiți | Este mai bine să folosiți interfața atunci când diverse implementări au doar semnătura metodei. Ierarhia polimorfă a tipurilor de valori. | Ar trebui să fie utilizat atunci când diferite implementări de același fel au un comportament comun. |
| Câmpuri de date | interfața nu poate conține câmpuri de date. | clasa poate avea câmpuri de date. |
| Moștenire multiplă implicită | O clasă poate implementa numeroase interfețe. | O clasă moștenește doar un abdomentracclasa t. |
| Punerea în aplicare | O interfață este abstract, astfel încât să nu poată furniza niciun cod. | Un abdomentracClasa t poate oferi cod complet, implicit, care ar trebui suprascris. |
| Utilizarea modificatorilor de acces | Nu puteți utiliza modificatori de acces pentru metodă, proprietăți etc. | Poți folosi un aparat pentru abdomentracClasa t care conține modificatori de acces. |
| Folosire | Interfețele ajută la definirea abilităților periferice ale unei clase. | Un abdomentracClasa t definește identitatea unei clase. |
| Câmpuri definite | Nu pot fi definite câmpuri | Un abdomentracClasa t vă permite să definiți atât câmpuri, cât și constante |
| Moştenire | O interfață poate moșteni mai multe interfețe, dar nu poate moșteni o clasă. | Un abdomentracClasa t poate moșteni o clasă și mai multe interfețe. |
| Constructor sau destructori | O interfață nu poate declara constructori sau destructori. | Un abdomentracClasa t poate declara constructori și destructori. |
| Limita extensiilor | Poate extinde orice număr de interfețe. | Poate extinde doar o clasă sau un abdomentraco clasă la un moment dat. |
| Abstraccuvântul cheie t | Într-un abdomentraccuvântul cheie al interfeței t, este opțional pentru declararea unei metode ca abstract. | Într-un abdomentracclasa T, abdomenultracCuvântul cheie t este obligatoriu pentru declararea unei metode ca abstract. |
| Tipul clasei | O interfață poate avea doar abs publicetracmetode t. | Un abdomentracClasa T are abdomen protejat și publictracmetode t. |
Exemplu de cod pentru Interface și AbstracClasa t în Java
Următorul este un exemplu de cod pentru a crea o interfață și abstracclasa t în Java
Sintaxa interfeței
interface name{
//methods
}
Java Exemplu de interfață:
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();
}
}
AbstracSintaxa clasei t
abstract class name{
// code
}
Abstracexemplu de clasă 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));
}
}

