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:
class Hello {
  public static void main (String[] args){
  System.out.println("Hello Olle.");
  }
}
Spara med namnet Hello.java. Filen måste alltid heta samma sak som klassen. Kompilera på detta sätt:
[olle@dev1]$ javac Hello.java
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]$ 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:
public static void main (String[] args)
	
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:
class Print{
  public static void main(String[] args){
    for(int i=0; i<args.length; i++){
      System.out.println(i+"="+args[i]);
    }
  }
}

[olle@dev1]$ java Print hello you
0=hello
1=you
args är alltså en array innehållande String-objekt.

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:
import java.applet.*;
import java.applet.Audioclip;
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.

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:
package se.olles.animals;

public class Cat{
  public static void printMe(){
    System.out.println("Im a cat!");
  }
}
Kompilera med:
[olle@dev1]$ javac Cat.java
Skapa nu en fil TestCat.java i vilken katalog som helst:
import se.olles.animals.*;

class TestCat{
  public static void main(String[] args){
    Cat.printMe();
  }
}
Kompilera denna klass och kör den:
[olle@dev1]$ javac TestCat.java
[olle@dev1]$ java TestCat
Im a cat!
Det går alltså att komma åt klasserna i paketet från vilken plats som helst i filsystemet.

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:

  1. En användare kan bara anropa "main"-metoden i programmet.
  2. En klass kan bara komma åt publika klasser i andra paket.
  3. En metod kan bara komma åt publika metoder i andra klasser.
Mer om nyckelorden "public" och "private" på sidan om  nyckelord .