U C++ library a u Javi ... ?

Član
Učlanjen(a)
11.12.2009
Poruka
13
Pozdrav,

Zanima me sledeće, kada programiram u C++ tu imam libary (biblioteke) u koje mogu sam da stavim odredjene funckije i kasnije kada želim da koristim tu finkciju samo pozovem tu library i jednostavno dodam funkciju. (ne moram opet pisati cijeli kod za funkciju jer to već postoji u toj biblioteci). Moje pitanje je kako to uraditi u Javi? Znam da tamo postoje paketi? Da li je to isto i da li mi neko može napisati neki primjer za to.

Hvala.
 
Član
Učlanjen(a)
26.07.2012
Poruka
455
Pisanje vlastitih paketa

Java vas ne ograničava na korištenje samo sistemskih paketa, već vam dozvoljava i pisanje vlastitih. Paketi se pišu jednako kao i bilo koji Java program, no pri tome se treba držati sljedećih pravila:
Ne smije biti više od jedne public klase po datoteci.
Sve datoteke u paketu moraju se zvati classname.java gdje je classname ime public klase u toj datoteci.
Na početku svake datoteke u paketu, prije svih import naredbi, treba doći naredba package myPackage; gdje je myPackage ime paketa.

Paketi se imenuju prema domeni i korisničkom imenu autora, pa ako je vedris@student.math.hr autor paketa package1, onda bi hr.math.student.vedris.package1 bilo puno ime tog paketa.



Da biste paket koristili u drugim programima, kompilirajte java datoteke kao obično i premjestite dobivene *.class datoteke u odgovarajući poddirektorij nekog od direktorija koji je naveden u environment varijabli CLASSPATH.



Na primjer, ako je u CLASSPATH naveden direktorij /math/vedris/java/classes/, a puno ime paketa je hr.math.student.vedris.package1, onda bismo kompilirane datoteke stavili u direktorij /math/vedris/java/classes/hr/math/student/vedris/package1/.

package hr.math.student.vedris.package1;

import java.net.*;

public class URLSplitter {

public static void main(String[] args) {

for (int i = 0; i < args.length; i++) {
try {
URL u = new URL(args);
System.out.println("Protocol: " + u.getProtocol());
System.out.println("Host: " + u.getHost());
System.out.println("Port: " + u.getPort());
System.out.println("File: " + u.getFile());
System.out.println("Ref: " + u.getRef());
}
catch (MalformedURLException e) {
System.err.println(args + " is not a valid URL");
}
}

}

}

% javac -d /math/vedris/java/classes URLSplitter.java

Opcija –d kaže kompajleru da kreira potrebne poddirektorije direktorija /math/vedris/java/classes/. U ovom primjeru, datoteka URLSplitter.class bila bi smještena u direktorij /math/vedris/java/classes/hr/math/student/vedris/package1/. Možete koristiti i uobičajenu shell sintaksu, ~mylogin za svoj home direktorij ili . za trenutno aktivni direktorij.


izvor: "Java Lecture Notes" prof Elliotte Rusty Harold, Brooklyn Polytechnic University

pozz!
 
Natrag
Top