? Utviklere opprettet Java til å fungere som et objekt - orientert språk tvers igjennom. Det innebærer at objektorienterte evner ikke ettermonteres på en eldre paradigme , som ofte er tilfelle i C + + . Snarere er dens syntaks og struktur bygget for å representere objekter og deres relasjoner i koden . Dette betyr at den inneholder konkrete syntaks enheter for å lette objektorientert programmering. The Static initializer , for eksempel , lar programmerere å definere komplekse initialisering atferd for sine objekter når de brukes av andre programmerere . Java-klasser
På det mest grunnleggende nivået , Java-funksjoner på grunn av utformingen av sine klasser . En klasse i Java hovedsak fungerer som en blåkopi for objekter som er opprettet i koden . Når programmerer som skaper en klasse design som klasse , hun må alltid vurdere hvordan objektet skal brukes , hvordan den er laget, hva som må det må det tilfredsstille, og hvilken funksjonalitet som tilbys. Alle disse tingene må komme sammen for å designe en nyttig og velfungerende objekt .
Klassevariabler og Initialisering
del av prosessen med førsteklasses design er initialiseringsfasen . Når en programmerer først skaper , eller " instantiates " og objekt , vil den klassen objektet stammer fra initialisere seg selv. Java Compiler håndterer det grunnleggende om dette , men for noen annen form for nyttig initialisert, må programmereren av klassen gi en måte å presentere et objekt som allerede er i en viss tilstand . Dette betyr at variablene har standardverdier eller visse datastrukturer er klar for innsetting.
Constructors
Constructors tillate brukere av klasser for å opprette objekter med startverdier , og på en måte , har kontroll over hvordan objektene er opprettet. Constructors oppfører han samme måte som klasse-metoder , bortsett fra at de bare kalles når et nytt objekt opprettes . For eksempel har følgende klasse en enkel konstruktør som gjør at en programmerer å sette verdier av to interne variabler , a og b . Deretter oppretter hvem som objekt senere kan sette verdiene til hva hun liker: class Test {
public int a = 0; public int b = 0;
offentlig Test ( int x , int y) { a = x , b = y ;} public static void main ( String [] args ) {
Test t = new Test ( 1 , 2 ); } }
Static initialisering
p Hvis mer kompleks initialisering er nødvendig, men så grunnleggende konstruktører er kanskje ikke den beste ideen . I stedet vil en programmerer bruke en " statisk initializer " for å starte et objekt . Ved fremstillingen av klasse , vil programmereren definere en statisk initializer hjelp av " statisk" nøkkelord, etterfulgt av den ønskede kode . Disse initializers vil utføre koden før brukeren av klassen har noen sjanse til å sette noen verdier selv. Dette kan hjelpe til å skape standardverdier for komplekse data variabler som datastrukturer eller flerdimensjonale matriser . Et ubegrenset antall statiske initializers kan inkludere i klassen : public int [ ] [ ] j = new int [ 10 ] [ 10 ]; statisk { for ( int x = 0 ; x < 10; x + + ) { for ( int y = 0 ; y < 10; y + + ) { j [ x ] [ y ] = 0 ;} } }