Ifølge TIOBE indekset er Java den nr. 1 placering programmeringssprog i verden på det tidspunkt denne artikel publikation . Det er almindeligt anvendt , kraftfuld og forholdsvis let at lære. Det har en enorm økosystem drevet af et enormt antal af udviklere og en bred vifte af tilgængelige værktøjer. Java er objektorienteret og giver mange objektorienterede værktøjer til forskellige slags problemer. Abstrakte klasser og grænseflader er to vigtige redskaber i Javas værktøjskasse. Objektorienteret programmering
objektorienteret programmering er den dominerende programmerings paradigme. I stedet for at se programmering som at oprette en liste over instruktioner til computere til at udføre , skal du oprette OOP programmører medlemmer --- disse kaldes "objekter" --- af et digitalt samfund , som de derefter orkestrere at gøre, hvad de vil. Dette opnås ved at sende beskeder til objekter. Objekterne derefter reagere på disse meddelelser. Programmører bruge disse objekter og deres svar til at skabe software .
Klasser
Klasser er en afgørende del af objektorienteret programmering. OOP programmører definerer de objekter , de bruger ved at skabe klasser, og definere, hvordan de klasser af objektet opfører sig. Klasser er en særlig form for objekt, hvis job det er at instantiere objekter med den definerede adfærd. Klasser kan også arve fra andre klasser eller kopiere deres adfærd.
Interfaces
Interfaces er en særlig form for klasse. Grænseflader fungere som en skabelon for andre klasser . De erklærer den adfærd, arver klasser skal definere . De kan dog ikke iværksætte enhver adfærd. Det eneste formål med en grænseflade er at definere hvilken adfærd en arve klasse skal udstille . Interfaces er nyttige for at håndhæve en ensartet grænseflade for lignende objekter. Interfaces kan kun arves fra , . At de ikke kan bruges til at oprette objekter
abstrakte klasser
abstrakte klasser ligner grænseflader , kan dog abstrakte klasser også gennemføre den opførsel underklasser . Abstrakte klasser kan bruges som grænseflader i situationer, hvor underklasser har fælles adfærd. Abstrakte klasser er nyttige i software som applikation rammer , hvor udviklerne har brug for nogle standard funktioner fra underklasser , de definerer. Abstrakte klasser kan kun arvet fra . De kan ikke bruges til at oprette objekter.