Enligt Tiobe index , är Java det nr 1 ranking programmeringsspråk i världen vid tidpunkten för denna artikels publicering . Det är allmänt används , kraftfull och ganska lätt att lära sig . Den har en enorm ekosystem drivs av ett enormt antal utvecklare och ett stort utbud av tillgängliga verktyg . Java är objektorienterat och ger många objektorienterade verktyg för olika slags problem . Abstrakta klasser och gränssnitt är två viktiga verktyg i Java verktygslåda . Objektorienterad programmering
Objektorienterad programmering är den dominerande programmering paradigm . Istället för att se program som skapar en lista med instruktioner för datorer att köra , OOP programmerare skapa medlemmar --- dessa kallas "objekt" --- i ett digitalt samhälle som de sedan orkestrera att göra vad de vill . Detta åstadkoms genom att skicka meddelanden till objekt. Föremålen svarar sedan på dessa meddelanden . Programmerare använder dessa objekt och deras svar för att skapa programvara .
Klasser
Klasserna är en avgörande del av objektorienterad programmering . OOP programmerare definiera de objekt som de använder genom att skapa klasser och definiera hur de klasser av objekt beter sig . Klasserna är en speciell typ av objekt vars jobb det är att instansiera objekt med definierat uppträdande . Klasser också kan ärva från andra klasser , eller kopiera deras beteende .
Gränssnitt
Gränssnitt är en speciell typ av klass . Gränssnitt fungera som en mall för andra klasser. De förklarar de beteenden som ärver klasser måste definiera . De har emellertid inte genomföra några beteenden . Det enda syftet med ett gränssnitt är att definiera vilka beteenden en ärver klass måste uppvisa . Gränssnitt är användbara för att upprätthålla ett enhetligt gränssnitt för liknande objekt . Gränssnitt endast kan ärvas från , . Kan de inte användas för att skapa objekt
abstrakta klasser
abstrakta klasser liknar gränssnitt , kan emellertid abstrakta klasser genomför också beteendet av underklasser. Abstrakta klasser kan användas som gränssnitt i situationer där underklasser har gemensamma beteenden . Abstrakta klasser är användbara i program som programramverk , där utvecklare behöver lite default funktioner från underklasserna de definierar . Abstrakta klasser kan endast ärvas från . De kan inte användas för att skapa objekt .