Rozdíl mezi břišními svalytracTřída a rozhraní t v Java

Klíčový rozdíl mezi břišními svalytracTřída a rozhraní t v Java

  • V Interface může třída implementovat více rozhraní, zatímco třída může dědit pouze jeden Abs.tracTřída t.
  • Rozhraní In nemá modifikátory přístupu. Všechno definované uvnitř rozhraní má veřejný modifikátor, zatímco AbstracTřída t může mít modifikátor přístupu.
  • Rozhraní nemůže obsahovat datová pole, zatímco abstracTřída t může mít datová pole.
  • Rozhraní pomáhají definovat periferní schopnosti třídy, zatímco abstracTřída t definuje identitu třídy.

Rozhraní vs. AbstracTřída t v Java

Co je to břišní svaltracTřída t?

Třída, která má břišní svalytracKlíčové slovo t v jeho deklaraci se nazývá abstractřída t. Břišní svalytracTřídy by měly mít nulu nebo více břišních svalůtracmetody. tj. metody bez těla. Může mít více konkrétních metod. AbstracTřídy t vám umožňují vytvářet plány pro konkrétní třídy. Dědící třída by však měla implementovat abstract-metoda. AbstracTřídy t nelze instancovat.

Důležité důvody pro používání rozhraní

  • K dosažení se používají rozhraní abstracvání.
  • Navrženo pro podporu dynamického rozlišení metod za běhu
  • Pomáhá vám dosáhnout volného spojení.
  • Umožňuje oddělit definici metody od hierarchie dědičnosti

Důležité důvody pro používání břišních svalůtracTřída t

  • AbstracTřídy t nabízejí výchozí funkcionalitu pro podtřídy.
  • Poskytuje šablonu pro budoucí specifické třídy
  • Pomůže vám definovat společné rozhraní pro jeho podtřídy
  • AbstracTřída t umožňuje opakované použití kódu.

Co je to rozhraní?

Rozhraní je plán, který lze použít k implementaci třídy. Rozhraní neobsahuje žádné konkrétní metody (metody, které mají kód). Všechny metody rozhraní jsou abstrakce.tract metody. Rozhraní nelze instancovat. Třídy, které implementují rozhraní, však instancovat lze. Rozhraní nikdy neobsahují proměnné instance, ale mohou obsahovat veřejné statické proměnné final (tj. konstantní proměnné třídy).

Rozdíl mezi rozhraním a abstracTřída t v Java

Břišní svalytracTřída t umožňuje vytvářet funkce, které mohou podtřídy implementovat nebo přepsat, zatímco rozhraní umožňuje pouze uvádět funkce, ale ne implementovat je. Třída může rozšířit pouze jednu třídu abs.tractřída t, zatímco třída může implementovat více rozhraní.

parametry Rozhraní Abstractřída T
Rychlost Pomalu rychlý
Vícenásobná dědictví Implementujte několik rozhraní Pouze jeden břišní svaltractřída T
Struktura Abstracmetody Abstracmetody t a betonu
Kdy použít Budoucí vylepšení Aby nedošlo k nezávislosti
Dědičnost/ Implementace Třída může implementovat více rozhraní Třída může dědit pouze jeden Abs.tracTřída t
Výchozí implementace Při přidávání nových věcí do rozhraní je noční můra najít všechny implementátory a implementovat nově definované věci. V případě břišních svalůtracVe třídě t můžete využít výchozí implementaci.
Modifikátory přístupu Rozhraní nemá modifikátory přístupu. Vše definované uvnitř rozhraní je považováno za veřejný modifikátor. AbstracTřída t může mít modifikátor přístupu.
Kdy použít Je lepší použít rozhraní, když různé implementace sdílejí pouze podpis metody. Polymorfní hierarchie hodnotových typů. Mělo by se používat, když různé implementace stejného druhu sdílejí společné chování.
Datová pole rozhraní nemůže obsahovat datová pole. třída může mít datová pole.
Výchozí vícenásobná dědičnost Třída může implementovat řadu rozhraní. Třída dědí pouze jeden abstractřída t.
Implementace Rozhraní je abstract, takže nemůže poskytnout žádný kód. Břišní svalytracTřída t může poskytnout kompletní, výchozí kód, který by měl být přepsán.
Použití modifikátorů Access Pro metodu, vlastnosti atd. nelze použít modifikátory přístupu. Můžete použít břišní svalytracTřída t, která obsahuje modifikátory přístupu.
Používání Rozhraní pomáhají definovat periferní schopnosti třídy. Břišní svalytracTřída t definuje identitu třídy.
Definovaná pole Nelze definovat žádná pole Břišní svalytracTřída t umožňuje definovat jak pole, tak konstanty.
Dědictví Rozhraní může zdědit více rozhraní, ale nemůže zdědit třídu. Břišní svalytracTřída t může dědit třídu a více rozhraní.
Konstruktor nebo destruktory Rozhraní nemůže deklarovat konstruktory nebo destruktory. Břišní svalytracTřída t může deklarovat konstruktory a destruktory.
Limit rozšíření Může rozšířit libovolný počet rozhraní. Může se rozšířit pouze o jednu lekci nebo jeden břišní svaltract třídu najednou.
Abstracklíčové slovo t V břišním svalutracKlíčové slovo rozhraní t je volitelné pro deklaraci metody jako abstract. V břišním svalutractřída t, břišní svalytracKlíčové slovo t je povinné pro deklaraci metody jako abs.tract.
Typ třídy Rozhraní může mít pouze veřejné abstracmetody. Břišní svalytracTřída t má chráněné a veřejné abstracmetody.

Ukázkový kód pro Interface a AbstracTřída t v Java

Následuje ukázkový kód pro vytvoření rozhraní a abstractřída t v Java

Syntaxe rozhraní

interface name{
//methods
}

Java Příklad rozhraní:

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();
    }
}

AbstracSyntaxe třídy t

abstract class name{
    // code
}

Abstracpříklad třídy 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));
    }
}

Shrňte tento příspěvek takto: