NOTESSIDAN

Allt om Lotus Notes & Domino




En snabbguide till Java - Del 2
Min snabbguide till java Del 2 | Del 1

  • Om man tilldelar tex. objektet "Database" till "Object" (Object o = Database) så kan man inte kalla på databasmetoder i variabeln o, denna måste då först konverteras tillbaka till en Database (Casting)

  • För att konvertera ett objekt till en annan typ används casting, syntax för detta är: "Database db = (Database) o"

  • För att tala om vilken typ en array ska innehålla är syntax "Array<typ> minArray = new Array<typ>()"

  • Om man lägger objekt i en array så kan man bara behandla det som ett "Object", dvs typerna man skickar in i arrayer måste konverters innan användning (Casting)

  • Om en konvertering går fel (Casting) så blir det ClassCastException vid körning.

  • En abstract klass fyller ingen funktion om den inte ärver från en annan klass (Extends)

  • Alla metoder kan man declarera med "Object" som argument "void go(Object o){}" och "Object" returtyper. (return o)

  • En klass kan bara ärva från en annan klass (inte flera), men kan implementera flera interface.

  • "Late Binding" betyder att objekt inte behöver veta vilken klass den tillhör förren den körs.

  • Java har fullt stöd för Trådar/Threads, all kod man skriver kan köras i enskilda trådar, dvs samtidigt (Multitasking)

  • För att kalla på en metod i en klass som inte är i den aktuella klassen måste man ange klassnamnet först + punkt (minklass.minmetod())

  • Statiska klassvariabler delas med alla instanser av den klassen.

  • Efter en klass är kompilerad kan konstanter inte ändras.

  • Den aktuella tiden i Java är antalet millisekunder som har passerat sedan 1 Januari 1970.

  • En klassvariabel ska inte ligga i en metod och måste innehålla ordet "static"

  • En klass kan innehålla följande: Fields,Methods, Constructors, Initializers , andra klasser och interface.

  • Undvik att göra fält/fields publika, en vanlig teknik är att istället använda publika metoder för att exponera data utanför klassen (s.k getter och setters)

  • Detta kallas upcasting: Ball b = new BaseBall();

  • Callback: när objekt1 låter objekt2 veta att den ska kalla på en metod i objekt1 när en speciell händelse sker.

  • När en javaapplikation körs, skapas i datorns minne ett objekt av varje "Class" i applikationen. detta objekt innehåller information om klassen. man kan kalla på denna klass via getClass() från allla typer av klasser.

  • En klass laddas in i minnet först när man instantierar den eller när man accessar ett statiskt fält.

  • När man bygger javapplikationer är det brukligt att dela upp koden i 3 delar Presentation, Logik och Databas.

  • Man kan har 2 klasser i samma fil, om endast en är markerad som Publik.

  • Klassfält kan alltid nås från metoder i samma klass.

  • Getter and Setters används för att skriva till och läsa ifrån klassfält.

  • Området Klassfält ligger i kallas Initializers, initializers körs innan Constructors

  • "static" i java betyder inte att man inte kan ändra.

  • Ett "static" fält eller metod i Java betyder att dom inte är associerade med ett instantierat object.

  • En "static" metod har bara tillgång till fält eller metoder som är "static"

  • En "vanlig/inte static" metod har tillgång till statiska fält och metoder.

  • Om man vill göra en en hel klass "static", skapa en konstruktor som är "private" då kan klassen inte instantieras.

  • Använd termerna: SubClass och SuperClass när du pratar med Java proffs.

  • För att beskriva arv, tänk att subklassen är en generell typ av base klassen. tex Pacman(subklass) är ett typ av spel (Superklass)

  • Ofta kan det vara bättre att inkludera en instans av en klass i sin klass än att ärva från en annan klass (Extend)

  • Konverting (casting) sker automaiskt från subklass till superklass (superklass = subklass). åt andra hållet måste man använda Casting (subclass = (subclass)superclass)

  • Använd helst superklass typer som parametrar i dina metoder och kontrollera rätt typ med instanceOf().

  • Late binding innebär att man vid körning av programmet avgör vilken typ av objekt det är som används. Vilket innebär att om man har samma metod i både sub och superklassen så kommer det avgöras vilken metod som ska triggas baserat på vilken typ som skickas in.

  • Om man inte vet eller behöver veta vilken typ en viss instans är kan man alltid tilldela den "Object" (tex Object x = new Database())

  • En Array kan innehålla vilken typ av objekt som helst (så länge det är samma typ), vilket innebär att man kan konvertera (cast) alla objekt först till "Object" och sen lägga in alla i samma array. när man sen vill ta ut dom så konverterar man tillbaka dom till respektive typ.

  • Det är brukligt att man alltid "override":ar toString() i sina klasser. för att på ett lätt sätt kunna få reda på vad en viss instans är för något.

  • Ha alltid en websida öppen med Java Runtime klasserna, ingen kommer ihåg dom utantill.

  • Man kan inte skapa globala variabler i Java

  • En klass instantieras när man kallar på en konstruktor med "new". En klass "initializes" först när den används.

  • I java kan man till skillnad från Lotusscript deklarera int variabler så här "int x=1,y=2,z=3"

  • Instansvariabler och klassvariabler får automatiskt standardvärden.

  • En lokal variabel är alltid deklarerad inne i en metod och är inte känd utanför metoden. en lokal variabel kan inte vara "static" och en lokal variabel måste tilldelas ett värde innan kompilering.

  • Det finns 2 variabeltyper, Primitiva variabler och Referensvariabler. Dom primitiva(tex int,long,char) är inbyggda i java, referensvariablerna (tex. Databas) är sådana man skapar själv eller importerar in.

  • Det finns inga varianter i Java, alla variabler måste deklareras som en typ.

  • När man skapar ett objekt av en klass allokeras så mycket minne i datorn som behövs. om du tilldelar objektet till en variabel så skapas bara en referens till den plats i minnet som objektet ligger.

  • "Database db = agentContext.getCurrentDatabase()" db är en referensvariabel men innehåller inte objektet db utan bara en referens till objektet i minnet.

  • Två referensvariabler kan peka på samma objekt. (tex. Database db2 = db) om man då ändrar objektet med hjälp av den ena variabeln(tex db) så kommer båda varablerna(db och db2) peka på ett ändrat objekt.



Relevanta Poster på Notessidan:



Publicerad 2007-11-06 | Kommentarer: 0 | Läsningar: 2256
Kommentarer

No documents found



Sök på Notessidan
Thomas Adrian
ThomasCertifierad utvecklare och administratör inom Notes & Domino

Kontakta mig







Senaste Sökningarna på Notessidan
Sön - sharepoint (R:1)
Sön - räkna and antal and besökare (R:0)
Sön - browser (R:17)
Sön - stoppar and mail (R:1)
Sön - korrupt (R:3)
Sön - böcker (R:0)
Sön - kalendern (R:12)
Sön - feature (R:15)
Sön - print and mime (R:2)
Sön - länka (R:0)
Sön - databasen (R:94)
Sön - access (R:47)
Sön - outlook (R:15)
Sön - webanvändare (R:0)
Sön - google and maps (R:6)
Sön - juffe (R:2)
Sön - uidoc.print (R:1)
Sön - java and lotusscript (R:26)
Sön - besök (R:0)




Databasstatistik Blogg
Uppdateras var 15:e Minut

Antal Poster:562
Antal Kommentarer: 1404
Alla sidvisningar idag:
Unika Besökare idag:
Databasstorlek: 147,75Mb
Fixup: 2019-09-16 00:30:49
FT:2019-09-16 08:16:13
DB Procent använd: 99,8
Antal Agenter: 42
Antal Formulär: 65
Antal Vyer: 60
Antal Dokument: 7981
Antal Image Resources: 108
Antal Subformulär: 18
Antal Scriptbibliotek: 11
Totalt Antal Designelement: 576
Antal Attachments: 159
Antal Konflikter: 0
Server version 1: 405
Server version 2: Release 9.0.1FP9|August 14, 2017
Server Plattform: Windows/64
Ändrad: 2019-09-16 08:40:43
Server Tidszon: Z=-1$DO=1$DL=3 -1 1 10 -1 1$ZX=131$ZN=W. Europe
Region:
Kommentarsspam Idag: 5
Kommentarsspam Totalt: 18780


BlogRankers.com

Top Sites at iWEBTOOL.com

Fight Spam! Click Here!

Bloggtoppen.se

Listed on BlogShares

Increase website traffic

Top Internet Blogs

Site Checker