programmera.net -> java -> normal för utskrift | info@programmera.net |
Struktur
1. Case sensitive 2. Att skriva en Javaklass 3. Metoden main() 4. Satser 5. Kommentarer 6. Importera klasser 7. Paket 8. Struktur i filen 9. Strukturen i ett Javaprogram |
1. Case sensitive
Java bryr sig om om du använder STORA eller små bokstäver. hej är inte samma sak som Hej. Detta gäller även filnamn som innehåller källkod till klasser.
2. Att skriva en Javaklass
Öppna en texteditor och skriv:
Spara med namnet Hello.java. Filen måste alltid heta samma sak som klassen. Kompilera på detta sätt:
class Hello {
public static void main (String[] args){
System.out.println("Hello Olle.");
}
}
Nu har filen Hello.class skapats. Den innehåller bytekod och är redo att skickas till JVM. Du låter JVM köra programmet på detta sätt:
[olle@dev1]$ javac Hello.java
[olle@dev1]$ java Hello
Hello Olle.
3. Metoden main()
Ett Javaprogram kan bestå av en mängd klasser som alla ligger i sin egen .class-fil. Men endast den klass som har en metod main() kan fungera som startklass (den klass man startar programmet med). Metoden main() deklareras alltid på samma sätt:
När JVM försöker sätta igång programmet anropar den alltså main() och när main() har avslutats är programmet färdigt och lämnar tillbaka kontrollen till terminalfönstret. Här kommer ett exempelprogram:
public static void main (String[] args)
class Print{
public static void main(String[] args){
for(int i=0; i<args.length; i++){
System.out.println(i+"="+args[i]);
}
}
}
args är alltså en array innehållande String-objekt.
[olle@dev1]$ java Print hello you
0=hello
1=you
4. Satser
All programmering i Java sker genom satser. En sats avslutas med semikolon (;). Som exempel tar vi den intressantaste satsen från klassen Hello:
System.out.println("Hello Olle.");
5. Kommentarer
Det finns tre sätt att kommentera i Java:
// Detta är en kommentar..
/* Detta är en
kommentar på flera rader */
/** Detta är en kommentar som kommer
att läsas av Javadoc. */
6. Importera klasser
Om du vill använda t. ex. klassen AudioClip från paketet java.applet kan du importera den i din kod. Detta kan du göra på två sätt:
Den första satsen importerar hela paketet, då den andra satsen bara importerar en enskild klass. Man behöver inte vara rädd för att import av ett helt paket ska konsumera minne eller påverka prestanda, eftersom ingen import faktiskt sker. Satsen säger bara åt kompilatorn var den ska leta efter klasserna. Importera klasser är egentligen onödigt eftersom du när som helst kan använda en klass genom att specifiera hela sökvägen t. ex. java.applet.Audioclip.
import java.applet.*;
import java.applet.Audioclip;
7. Paket
Paket är ett sätt att samla klasser som programmeraren anser hänger ihop. En klass kan bara tillhöra ett paket. Ett paket motsvaras i filsystemet av en mapp. Standarden för att namnge sina paket är att använda sitt företags webbadress baklänges. Om ditt företag har domännamnet olles.se och du vill skapa paketet animals så blir paketnamnet se.olles.animals. Skapa sökvägen se/olles/animals/ i någon mapp som finns med i CLASSPATH. I mappen animals skapar du en fil med namnet Cat.java med följande innehåll:
Kompilera med:
package se.olles.animals;
public class Cat{
public static void printMe(){
System.out.println("Im a cat!");
}
}
Skapa nu en fil TestCat.java i vilken katalog som helst:
[olle@dev1]$ javac Cat.java
Kompilera denna klass och kör den:
import se.olles.animals.*;
class TestCat{
public static void main(String[] args){
Cat.printMe();
}
}
Det går alltså att komma åt klasserna i paketet från vilken plats som helst i filsystemet.
[olle@dev1]$ javac TestCat.java
[olle@dev1]$ java TestCat
Im a cat!
8. Struktur i filen
Högst upp i filen kommer den paket-deklarationen, sedan eventuella import-satser, sist kommer en eller flera klass-definitioner. Det får endast finnas en publik klass i varje fil, och filen måste ha den publika klassens namn.
9. Strukturen i ett Javaprogram
Strukturen i ett Javaprogram beskrivs av bilden nedan. Bilden är tänkt att illustrera de olika nivåer av synlighet ("visibility") som finns i Java:
Följande regler för synlighet gäller:
Mer om nyckelorden "public" och "private" på sidan om
nyckelord .