bild
Skolan för
elektroteknik
och datavetenskap

Programutvecklingsteknik, om Javapaket

Egna paket

I språket Java ingår tusentals biblioteksklasser. Dessa är organiserade i paket. Ett paket kan innehålla dels klasser och dels andra paket (som i sin tur kan innehålla klasser och paket . . . ).

Om man ska utveckla ett stort program behöver man antagligen dela upp det på flera paket. Därför tittar vi på det nödvändigaste om paket ett par gånger under kursen. Om du jobbar i en IDE så finns det troligen bra hjälp om paket att tillgå.

Om man själv vill samla några klasser i paketet musik så gör man så här:

  1. Skapa en underkatalog musik. Flytta alla filer som ska ingå i paketet till denna katalog.

  2. Skriv package musik; allra överst i paketfilerna där klasserna ligger och kompilera om dem. Tänk på att de klasser och metoder som ska kommas åt utifrån måste vara public, annars syns de inte utanför paketet. Använd inte public i onödan!

  3. Nu fungerar import musik.*; men bara i den katalog som har underkatalogen musik.

Ett paket på en underkatalog enligt ovan måste alla prova på att göra i två av labbarna. Texten nedan är för dem som vill veta mer.

Om man vill komma åt paketet music från en katalog som inte är direkt ovanför katalogen music kan man på olika sätt meddela javasystemet var paketet finns. Både javac och java måste få veta sökvägen till paketet, t.ex. så här:

javac -classpath .:/home/cvap/ann/prutt/tester/paket/ TestProg.java
java -classpath .:/home/cvap/ann/prutt/tester/paket/ TestProg

Paketet music ligger alltså under underkatalogen paket ovan. Det är otympligt att skriva in den långa sökvägen varje gång. Om man ska använda ett eget paket mycket så är det bättre att definiera om omgivningsvariabeln CLASSPATH till att omfatta den aktuella sökvägen. CLASSPATH innehåller en lista på de sökvägar som ska användas för att hitta de klasser som ska användas. Exakt hur man gör detta får ni leta reda på själva.

Copyright © Sidansvarig: Ann Bengtsson <ann@nada.kth.se>
Uppdaterad 2014-03-23