Summary: Generelt ved samarbejde mellem Java-objekter. Vi kommer ind på OOP generelt, public/private samt static.
OOP bygger på klasser, rent kodemæsssigt er en klasse intet mere end en samling af variabler og funktioner. Men de hører naturligt sammen, og er ikke bare en stor samling af tilfældige variabler og funktioner, som man kan benytte af. Betragt en klasse som en kodemæssig beskrivelse af en ting, en slags, en type. Vi kunne f.eks. lave en bil-klasse. I denne bil-klasse kan vi oprette nogle variabler der er tilknyttet en bil - fx mærke, model, farve og max. hastighed. Derudver skal bil-klassen også kunne udføre nogle opgaver - fx bremse, accelerere, blinke og skifte gear. Bevæger vi os over i web-verdenen, så kunne vi fx lave en brugerprofil-klasse (med oplysninger om navn, email, status, og funktioner som slet, opret, ændre status). I sådan et tilfælde har vi kun én klasse, alle brugere er baseret på denne klasse, fordi de alle er brugere. Kig dig omkring, din verden er fyldt med objekter. Min hund Fido er et objekt, baseret på en overordnet klasse der hedder 'hund'. I denne klasse er egenskaberne (alder, race..) og metoderne (gø, dække, æde..) for hunde beskrevet. Naboens hund er ligeledes et objekt baseret på klassen 'hund' - eller en instans af klassen hund som man kalder det.
Et eksempel på et objekt der samarbejder med et andet objekt: private HashMap hashmapvariabelnavn; public konstruktor() { hashmapvariabelnavn = new HashMap(); } Vi deklarer vores variabel til at have datatypen HashMap, hvorefter vi i vores konstruktor instansierer et objekt udfra klassen HashMap. På denne måde har vi en variabel der indeholder objektet HashMap, som vi i pågældende objekt kan arbejde med.
private variabledatatype variabelnavn; I overstående kode, ser vi at vi deklarerer vores variabel til at have access-modifieren "private". Private gør at vi kun kan tilgå vores variabel i den pågældende klasse variablen står i.
public variabledatatype variabelnavn; I overstående kode, ser vi at vi deklarerer vores variabel til at have access-modifieren "public". Public gør at vi kan tilgå vores variabel i denne klasse fra andre eller flere objekter/klasser.
Metoder markeret med 'static modifier' er en form for klassemetoder i Java. * Statiske metoder i Java kræver ikke en instans af klassen (et objekt) for at kunne aktiveres * Statiske metoder i en klasse kan ikke tilgå instansvariable