7.4. At definere egne pakker

Man kan definere sine egne pakker. Dette er specielt brugbart i større systemer, hvor man har mange klasser med beslægtede funktioner, for eksempel kommunikation (internetkøb med VISA eller Dankort) eller sine egne matematik- eller datobearbejdningspakker.

7.4.1. Eksempel på brugen af egne pakker

I følgende eksempel findes to klasser, nemlig Klasse1 og Klasse2 i en pakke (der hedder minPakke). De bruges af den kørbare klasse BrugPakker:

import minPakke.*;

public class BrugPakker
{
  public static void main(String args[] )
  {
    Klasse1 a = new Klasse1();
    Klasse2 b = new Klasse2();
    a.snak();
    b.snak();
  }
}

Klasse1 og Klasse2 skal ligge i et underkatalog, der hedder minPakke:

// Filnavn: minPakke/Klasse1.java
package minPakke;

public class Klasse1
{
  public void snak()
  {
    System.out.println("Dette er Klasse1, der taler!");
  }
}

og

// Filnavn: minPakke/Klasse2.java
package minPakke;

public class Klasse2
{
  public void snak()
  {
    System.out.println("Dette er Klasse2, der taler!");
  }
}

7.4.2. Navngive pakker

Det er normalt at man benytter sin internetadresse eller firmanavn i navngivningen af pakkerne. F.eks: oracle.jdeveloper.layout.XYLayout (klassen er XYLayout og pakken er oracle.jdeveloper.layout), com.sybase.jdbc.SybDriver eller netscape.javascript.JSObject.

7.4.3. Pakke klasser i JAR-filer (Java-arkiver)

Laver man sine egne pakker, ønsker man ofte at kunne distribuere dem til andre. De skabes med et ZIP-værktøj som WinZip eller GnoZip til Linux eller fra kommandolinjen med jar, der følger med, når man installerer Java. Kommandoen jar minder meget om UNIX' tar-kommando. Man opretter et arkiv ved at skrive f.eks.:

  jar cf minPakke.jar minPakke

Dette vil oprette JAR-filen minPakke.jar med klasserne minPakke/Klasse1.class og minPakke/Klasse2.class.