logo

Java csomag

  1. Java csomag
  2. Példa a csomagra
  3. Hozzáférés a csomaghoz
    1. Import csomagnév szerint.*
    2. A csomagnév.osztálynév importálásával
    3. Teljesen minősített néven
  4. Alcsomag
  5. Osztályfájl küldése egy másik könyvtárba
  6. -osztályút kapcsoló
  7. 4 módszer az osztályfájl vagy a jar fájl betöltésére
  8. Hogyan tegyünk két nyilvános osztályt egy csomagba
  9. Statikus import
  10. Csomag osztály

A java csomag hasonló típusú osztályok, interfészek és alcsomagok csoportja.

A java csomagja kétféle kategóriába sorolható: beépített csomag és felhasználó által definiált csomag.

Számos beépített csomag létezik, például java, lang, awt, javax, swing, net, io, util, sql stb.

Itt részletesen megismerjük a felhasználó által definiált csomagok létrehozását és használatát.

hogyan lehet megnyitni egy fájlt java-ban

A Java csomag előnyei

1) A Java csomag az osztályok és interfészek kategorizálására szolgál, hogy azok könnyen karbantarthatók legyenek.

2) A Java csomag hozzáférésvédelmet biztosít.

3) A Java csomag eltávolítja az elnevezési ütközést.


Egyszerű példa a java csomagra

A csomag kulcsszó csomag létrehozására szolgál java-ban.

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

Hogyan fordítsunk java csomagot

Ha nem használ IDE-t, kövesse a szintaxis alább megadva:

 javac -d directory javafilename 

Mert példa

 javac -d . Simple.java 

A -d kapcsoló megadja azt a célt, ahová a generált osztályfájlt el kell helyezni. Bármilyen könyvtárnevet használhat, például /home (Linux esetén), d:/abc (Windows esetén) stb. Ha a csomagot ugyanabban a könyvtárban szeretné tartani, használhatja a -t. (pont).


Java csomagprogram futtatása

Teljesen minősített nevet kell használni, pl. mypack.Simple stb az osztály futtatásához.


Összeállít: javac -d . Egyszerű.java
Futni: java mypack.Egyszerű
 Output:Welcome to package 
A -d egy kapcsoló, amely megmondja a fordítónak, hogy hova tegye az osztályfájlt, azaz a célt jelöli. A . az aktuális mappát jelöli.

Hogyan lehet elérni a csomagot egy másik csomagból?

Háromféleképpen lehet hozzáférni a csomaghoz a csomagon kívülről.

  1. import csomag.*;
  2. csomag importálása.osztálynév;
  3. teljesen minősített név.

1) A csomagnév használata.*

Ha a package.*-ot használja, akkor ennek a csomagnak az összes osztálya és felülete elérhető lesz, de alcsomagok nem.

Az import kulcsszó arra szolgál, hogy egy másik csomag osztályait és felületét elérhetővé tegye az aktuális csomag számára.

Példa a csomagnevet importáló csomagra.*

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.*; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

2) A csomagnév.osztálynév használata

Ha importálja a package.classname-et, akkor csak a csomag deklarált osztálya lesz elérhető.

Példa a csomagra az importálás szerint package.classname

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; import pack.A; class B{ public static void main(String args[]){ A obj = new A(); obj.msg(); } } 
 Output:Hello 

3) Teljesen minősített név használata

Ha teljesen minősített nevet használ, akkor csak a csomag deklarált osztálya lesz elérhető. Most már nem kell importálni. De minden alkalommal teljesen minősített nevet kell használnia, amikor eléri az osztályt vagy a felületet.

Általában akkor használják, ha két csomagnak ugyanaz az osztályneve, pl. A java.util és a java.sql csomagok tartalmazzák a Date osztályt.

Példa a csomagra importált teljes névvel

 //save by A.java package pack; public class A{ public void msg(){System.out.println('Hello');} } 
 //save by B.java package mypack; class B{ public static void main(String args[]){ pack.A obj = new pack.A();//using fully qualified name obj.msg(); } } 
 Output:Hello 

Megjegyzés: Ha egy csomagot importál, az alcsomagok nem lesznek importálva.

Ha importál egy csomagot, akkor a csomag összes osztálya és felülete importálásra kerül, kivéve az alcsomagok osztályait és felületeit. Ezért az alcsomagot is importálnia kell.


Megjegyzés: A program sorozatának csomagnak, majd importálásnak, majd osztálynak kell lennie.


Alcsomag java-ban

A csomagon belüli csomag az úgynevezett alcsomag . Létre kell hozni a csomag további kategorizálásához .

Vegyünk egy példát, a Sun Microsystem definiált egy java nevű csomagot, amely sok osztályt tartalmaz, mint például System, String, Reader, Writer, Socket stb. Ezek az osztályok egy adott csoportot képviselnek, pl. A Reader és Writer osztályok a bemeneti/kimeneti műveletekhez, a Socket és a ServerSocket osztályok a hálózathoz stb. Tehát a Sun alcsomagokba sorolta a java csomagot, például lang, net, io stb., és az Input/Output osztályokat az io csomagba, a Server és ServerSocket osztályokat a net csomagokba és így tovább.

A csomag meghatározásának szabványa a domain.company.package pl. com.javatpoint.bean vagy org.sssit.dao.

Példa az alcsomagra

 package com.javatpoint.core; class Simple{ public static void main(String args[]){ System.out.println('Hello subpackage'); } } 
Összeállít: javac -d . Egyszerű.java
Futni: java com.javatpoint.core.Simple
 Output:Hello subpackage 

Hogyan lehet elküldeni az osztályfájlt egy másik könyvtárra vagy meghajtóra?

Van egy forgatókönyv, az A.java forrásfájl osztályfájlját a c: meghajtó classes mappájába szeretném helyezni. Például:

 //save as Simple.java package mypack; public class Simple{ public static void main(String args[]){ System.out.println('Welcome to package'); } } 

Összeállít:

e:sources> javac -d c:classes Simple.java

Futni:

A program e:source könyvtárból való futtatásához be kell állítania annak a könyvtárnak az osztályútvonalát, ahol az osztályfájl található.
e:sources> set classpath=c:classes;.;
e:sources> java mypack.Egyszerű

A program futtatásának másik módja a java -classpath kapcsolójával:

A -classpath kapcsoló használható javac és java eszközzel.

A program e:source könyvtárból való futtatásához használhatja a java -classpath kapcsolóját, amely megmondja, hol kell keresni az osztályfájlt. Például:

faktoriális c

e:sources> java -classpath c:classes mypack.Egyszerű

 Output:Welcome to package 

Az osztályfájlok vagy a jar fájlok betöltésének módjai

Az osztályfájlok ideiglenes és végleges betöltésének két módja van.
  • Ideiglenes
    • Az osztályútvonal beállításával a parancssorban
    • By -classpath kapcsoló
  • Állandó
    • Az osztályútvonal beállításával a környezeti változókban
    • Létrehozza az összes osztályfájlt tartalmazó jar fájlt, és bemásolja a jar fájlt a jre/lib/ext mappába.

Szabály: Egy java forrásfájlban csak egy nyilvános osztály lehet, és azt a nyilvános osztálynévvel kell elmenteni.

 //save as C.java otherwise Compilte Time Error class A{} class B{} public class C{} 

Hogyan lehet két nyilvános osztályt egy csomagba tenni?

Ha két nyilvános osztályt szeretne elhelyezni egy csomagban, akkor legyen két java forrásfájlja, amelyek egy nyilvános osztályt tartalmaznak, de a csomag neve ugyanaz. Például:
 //save as A.java package javatpoint; public class A{} 
 //save as B.java package javatpoint; public class B{} 

Mi a Java5 statikus importálási funkciója?

Kattintson a Java5 statikus importálási funkciójára.

Mi a helyzet a csomagos osztályokkal?

Kattintson a Csomagosztályért