- Java csomag
- Példa a csomagra
- Hozzáférés a csomaghoz
- Alcsomag
- Osztályfájl küldése egy másik könyvtárba
- -osztályút kapcsoló
- 4 módszer az osztályfájl vagy a jar fájl betöltésére
- Hogyan tegyünk két nyilvános osztályt egy csomagba
- Statikus import
- 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.
- import csomag.*;
- csomag importálása.osztálynév;
- 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 |