Käyttöliittymä sisään Java esimerkin kanssa

⚡ Älykäs yhteenveto

Käyttöliittymä sisään Java on vatsalihaksettract-tyyppi, joka määrittää luokan toteuttaman toiminnan, sisältäen vakioita ja abstract-metodit. Tämä resurssi selittää, mikä rajapinta on, miksi sitä tarvitaan, miten sellainen deklaroidaan ja toteutetaan, ja miten rajapinnat eroavat luokista ja abs-rakenteista.tract-luokat.

  • 📜 Määritelmä: Rajapinta määrittää toiminnan abs-funktion avullatract-metodit ja vakiot, jotka luokkien toteuttamisen on tarjottava.
  • 🔑 Avainsana: Rajapinnat deklaroidaan avainsanalla interface, ja luokat käyttävät toteutuksia (toteutuksia) niiden käyttöönottamiseksi.
  • 🧩 Moninkertainen perintö: Luokka voi toteuttaa useita rajapintoja ja ratkaista Javan useiden luokkien periytymisen puute.
  • 🇧🇷 Luokka vs. rajapinta: Toisin kuin luokat, rajapintoja ei voida instansoida, ja ne perinteisesti sisältävät vain julkisia objekteja.tract-menetelmät.
  • 🎯 Milloin käyttää: Käytä rajapintaa määrittääksesi roolin toisiinsa liittymättömille luokille ja abs-funktiontract-luokka jaetulle mallille.

Käyttöliittymä sisään Java

Mitä käyttöliittymä sisältää Java?

An Käyttöliittymä sisään Java ohjelmointikieli määritellään abs-funktioksitract-tyyppi, jota käytetään luokan käyttäytymisen määrittämiseen. A Java rajapinta sisältää staattisia vakioita ja abstract-metodit. Luokka voi toteuttaa useita rajapintoja. Java, rajapinnat deklaroidaan avainsanalla interface. Kaikki rajapinnan metodit ovat implisiittisesti julkisia ja abstract.

Syntaksi ilmoittamisen rajapinnalle

Jos haluat käyttää rajapintaa luokassasi, lisää luokan nimen perään avainsana ”implements” ja sen perään rajapinnan nimi.

interface {
   // methods
}

Esimerkki käyttöliittymästä

Ymmärrämme nyt rajapinnat Java esimerkin kanssa:

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Napauta täältä jos video ei ole saatavilla.

Napauta täältä jos video ei ole saatavilla

Miksi käyttöliittymä vaaditaan?

Ymmärtääksesi käyttöliittymän käyttöä Java parempi, katsotaanpa asiaa Java esimerkki käyttöliittymästä. Luokalla ”Mediasoitin” on kaksi alaluokkaa: CD-soitin ja DVD-soitin. Kummallakin on oma ainutlaatuinen käyttöliittymän toteutustapansa musiikin toistamiseksi.

Miksi käyttöliittymä tarvitaan

Toinen luokka, ”Combo drive”, perii sekä CD- että DVD-levyn (katso kuva alla). Minkä toistotavan sen tulisi periä? Tämä voi aiheuttaa vakavia suunnitteluongelmia ja siten Java ei salli useita perintö.

Miksi käyttöliittymä tarvitaan

Otetaan nyt toinen esimerkki koirasta.

Oletetaan, että sinulla on vaatimus, jossa luokka ”koira” perii luokat ”eläin” ja ”Lemmikki” (katso kuva alla). Mutta et voi laajentaa kahta luokkaa JavaMitä siis tekisit? Ratkaisu on käyttöliittymä.

Miksi käyttöliittymä tarvitaan

Rajapinnan sääntökirja sanoo:

  • A Java käyttöliittymä on 100 % abstract-luokka ja sillä on vain abstract-menetelmät.
  • Luokka voi toteuttaa minkä tahansa määrän rajapintoja.

Luokka Dog voi laajentaa luokkaa ”Animal” ja toteuttaa rajapinnan ”Pet”.

Miksi käyttöliittymä tarvitaan

Java Rajapintaesimerkki

Ymmärretään alla oleva käyttöliittymäohjelma Java:

Vaihe 1) Kopioi seuraava koodi editoriin.

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

Vaihe 2) Tallenna, käännä ja suorita koodi. Tarkkaile rajapinnan tulostetta Java ohjelma.

Ero luokan ja käyttöliittymän välillä

luokka liitäntä
Luokassa voit luoda muuttujien instansseja ja olioita. Rajapinnassa et voi luoda muuttujien instansseja tai olioita.
Luokka voi sisältää konkreettisia (toteutuksineen) metodeja. Rajapinta ei voi sisältää konkreettisia (toteutuksineen) metodeja.
Luokkien kanssa käytettävät käyttöoikeusmäärittelijät ovat private, protected ja public. Rajapinnassa käytetään vain yhtä määrittelijää – public.

Milloin käyttää Interfacea ja Vatsalihaksiatract-luokka?

  • Käytä vatsalihaksiatract-luokkaa, kun mallipohja on määriteltävä ryhmälle alaluokkia.
  • Käytä rajapintaa, kun rooli on määriteltävä muille luokille riippumatta näiden luokkien periytymispuusta.

Täytyy tietää faktoja käyttöliittymästä

  • A Java luokka voi toteuttaa useita Java rajapinnat. On välttämätöntä, että luokka toteuttaa kaikki rajapinnoissa ilmoitetut metodit.
  • Tunnin tulisi ohittaa kaikki vatsalihaksettracrajapinnassa ilmoitetut t-metodit.
  • Rajapinta mahdollistaa viestin lähettämisen objektille riippumatta siitä, mihin luokkaan se kuuluu.
  • Luokan täytyy tarjota toiminnallisuus rajapinnassa ilmoitetuille metodeille.
  • Kaikki rajapinnan metodit ovat implisiittisesti julkisia ja abstract.
  • Rajapintaa ei voida instansoida.
  • Rajapintaviittaus voi osoittaa sitä toteuttavien luokkien objekteihin.
  • Rajapinta voi ulottua yhdestä tai useammasta rajapinnasta. Luokka voi laajentaa vain yhtä luokkaa, mutta toteuttaa minkä tahansa määrän rajapintoja.
  • Rajapinta ei voi toteuttaa toista rajapintaa. Sen on laajennettava toista rajapintaa tarvittaessa.
  • Rajapintaa, joka on deklaroitu toisen rajapinnan sisällä, kutsutaan sisäkkäiseksi rajapinnaksi.
  • Rajapintamuuttuja on alustettava määrittelyn yhteydessä. Muuten kääntäjä heittää virheen.
  • Luokka ei voi toteuttaa kahta rajapintaa Java joilla on samannimisiä, mutta eri paluutyyppisiä metodeja.

UKK

Kyllä. Tekoälyavustajat voivat luoda rajapintoja ja toteuttaa luokkia selkokielisen kuvauksen pohjalta, mukaan lukien metodien tynkät. Kehittäjien tulisi silti tarkistaa metodien allekirjoitukset, paluutyypit ja toiminta ennen koodin käyttöä.

Tekoälytyökalut analysoivat rajapintoja ehdottaakseen toteutuksia, havaitakseen puuttuvia menetelmiä ja suositellakseen puhtaampia vatsalihaksiatracrefaktoroinnin aikana. Tämä nopeuttaa kehitystä ja pitääping koodikanta on löyhästi kytketty ja helpompi ylläpitää.

Kyllä. Koska Java 8, rajapinnat voivat sisältää oletus- ja staattisia metodeja, joilla on toteutukset abs-metodien lisäksi.tract-metodeja. Tämä mahdollistaa rajapintojen kehittymisen rikkomatta olemassa olevia toteuttavia luokkia.

Merkkirajapinta ei sisällä metodeja. Se viestii metatietoja JVM:lle tai kääntäjälle, jotta ne käsittelevät toteuttavia luokkia erityisesti. Esimerkkejä ovat standardissa mainitut Serializable ja Clonable. Java kirjasto.

Tiivistä tämä viesti seuraavasti: