Java-objekt utgör grunden för alla Java-applikationer

Ett objekt i Java - och alla andra "objektorienterade" språk - är den grundläggande byggstenen för alla Java-applikationer och representerar alla verkliga objekt du kan hitta runt dig: ett äpple, en katt, en bil eller en människa.

De två egenskaperna som ett objekt alltid har är stat och beteende. Betrakta ett personobjekt. Dess tillstånd kan inkludera hårfärg, kön, längd och vikt, men också känslor av ilska, frustration eller kärlek. Dess beteende kan inkludera promenader, sova, laga mat, arbeta eller något annat som en person kan göra.

Objekt utgör själva kärnan i alla objektorienterade programmeringsspråk.

Vad är objektorienterad programmering?

Hundratals böcker har skrivits för att beskriva komplikationerna med objektorienterad programmering, men i grund och botten är OOP baserat på en helhetssyn som betonar återanvändning och arv, vilket effektiviserar utvecklingstiden. Mer traditionella procedurspråk, som Fortran, COBOL och C, tar en ovanifrån och ner metod och delar upp uppgiften eller problemet i en logisk, ordnad serie funktioner.

Tänk till exempel på en enkel ATM-applikation som används av en bank. Innan du skriver någon kod skapar en Java-utvecklare först en färdplan eller plan för hur man ska gå vidare, vanligtvis med en lista över alla objekt som måste skapas och hur de ska interagera. Utvecklare kan använda ett klassdiagram för att klargöra förhållandena mellan objekt. Objekt som krävs för användning i en ATM-transaktion kan vara pengar, kort, saldo, kvitto, uttag, insättning och så vidare. Dessa objekt måste arbeta tillsammans för att slutföra transaktionen: att göra en insättning bör resultera i en balansrapport och till exempel ett kvitto. Objekt kommer att skicka meddelanden mellan dem för att få saker gjorda.

Objekt och klasser

Ett objekt är ett exempel på en klass: här är kärnan i objektorienterad programmering och idén om återanvändning. Innan ett objekt kan existera måste det finnas en klass som det kan baseras på. 

Kanske vill vi ha ett bokobjekt: för att vara exakt, vi vill ha boken Liftarens guide till galaxen. Vi måste först skapa en klassbok. Denna klass skulle kunna ligga till grund för valfri bok i världen.

Det kan se ut så här:

public class bok 
Strängtitel;
Strängförfattare;
 // metoder
public String getTitle (

returtitel;

public void setTitle ()

returtitel;

public int getAuthor ()

återvändande författare;
  public int setAuthor ()

återvändande författare;

// etc.

Klassboken har en titel och en författare med metoder som låter dig ställa in eller få något av dessa objekt (det skulle ha fler element också, men detta exempel är bara ett utdrag). Men detta är ännu inte ett objekt - en Java-applikation kan ännu inte göra något med det. Det måste instanseras för att bli ett objekt som kan användas. 

Skapa ett objekt

Förhållandet mellan ett objekt och en klass är sådant att många objekt kan skapas med en klass. Varje objekt har sina egna data men dess underliggande struktur (dvs. typen av data det lagrar och dess beteenden) definieras av klassen.

Vi kan skapa flera objekt från en bokklass. Varje objekt kallas en exempel av klassen.

Book HitchHiker = ny bok ("The HitchHiker's Guide to the Galaxy", "Douglas Adams");
Book ShortHistory = ny bok ("En kort historia om nästan allt", "Bill Bryson");
Book IceStation = ny bok ("Ice Station Zebra", "Alistair MacLean");