Πακέτα Java και πώς να τα εισαγάγετε;

Σε αυτό το άρθρο, θα μάθετε για πακέτα και πώς να τα χρησιμοποιήσετε για να δημιουργήσετε αρθρωτό κώδικα στην Java.

Πακέτο Java

Ένα πακέτο είναι απλά ένα κοντέινερ που ομαδοποιεί σχετικούς τύπους (κλάσεις Java, διεπαφές, απαριθμήσεις και σχολιασμούς). Για παράδειγμα, στον πυρήνα Java, η ResultSetδιεπαφή ανήκει στο java.sqlπακέτο. Το πακέτο περιέχει όλους τους σχετικούς τύπους που απαιτούνται για το ερώτημα SQL και τη σύνδεση βάσης δεδομένων.

Εάν θέλετε να χρησιμοποιήσετε τη ResultSetδιεπαφή στον κώδικά σας, απλώς εισαγάγετε το πακέτο java.sql (Η εισαγωγή πακέτων θα συζητηθεί αργότερα στο άρθρο).

Όπως αναφέρθηκε προηγουμένως, τα πακέτα είναι μόνο κοντέινερ για τάξεις Java, διασυνδέσεις και ούτω καθεξής. Αυτά τα πακέτα σας βοηθούν να κάνετε κράτηση του χώρου ονομάτων τάξης και να δημιουργήσετε έναν διατηρήσιμο κώδικα.

Για παράδειγμα, μπορείτε να βρείτε δύο Dateτάξεις στην Java. Ωστόσο, ο κανόνας στον προγραμματισμό Java είναι ότι επιτρέπεται μόνο ένα μοναδικό όνομα κλάσης σε ένα έργο Java.

Πώς κατάφεραν να συμπεριλάβουν δύο τάξεις με το ίδιο όνομα Ημερομηνία στο JDK;

Αυτό ήταν δυνατό επειδή αυτές οι δύο Dateκατηγορίες ανήκουν σε δύο διαφορετικά πακέτα:

  • java.util.Date - αυτή είναι μια κανονική τάξη ημερομηνίας που μπορεί να χρησιμοποιηθεί οπουδήποτε.
  • java.sql.Date - αυτή είναι μια ημερομηνία SQL που χρησιμοποιείται για το ερώτημα SQL και τέτοια.

Με βάση το εάν το πακέτο ορίζεται από το χρήστη ή όχι, τα πακέτα χωρίζονται σε δύο κατηγορίες:

Ενσωματωμένο πακέτο

Τα ενσωματωμένα πακέτα είναι υπάρχοντα πακέτα java που συνοδεύουν το JDK. Για παράδειγμα, java.lang, java.util, java.io, κ.λπ. Για παράδειγμα:

 import java.util.ArrayList; class ArrayListUtilization ( public static void main(String() args) ( ArrayList myList = new ArrayList(3); myList.add(3); myList.add(2); myList.add(1); System.out.println(myList); ) ) 

Έξοδος :

 myList = (3, 2, 1) 

Το ArrayListμάθημα ανήκει java.util package. Για να το χρησιμοποιήσουμε, πρέπει πρώτα να εισαγάγουμε το πακέτο χρησιμοποιώντας τη importδήλωση.

 εισαγωγή java.util.ArrayList; 

Πακέτο που καθορίζεται από τον χρήστη

Η Java σας επιτρέπει επίσης να δημιουργήσετε πακέτα σύμφωνα με τις ανάγκες σας. Αυτά τα πακέτα ονομάζονται πακέτα καθορισμένα από τον χρήστη.

Πώς να ορίσετε ένα πακέτο Java;

Για να ορίσετε ένα πακέτο σε Java, χρησιμοποιείτε τη λέξη-κλειδί package.

 package packageName; 

Η Java χρησιμοποιεί καταλόγους συστήματος αρχείων για την αποθήκευση πακέτων. Ας δημιουργήσουμε ένα αρχείο Java μέσα σε έναν άλλο κατάλογο.

Για παράδειγμα:

 └── com └── test └── Test.java 

Τώρα, επεξεργαστείτε το αρχείο Test.java και στην αρχή του αρχείου, γράψτε τη δήλωση πακέτου ως:

 πακέτο com.test; 

Εδώ, κάθε κλάση που δηλώνεται στον κατάλογο δοκιμών ανήκει στο πακέτο com.test .

Εδώ είναι ο κωδικός:

πακέτο com.test; class Test (δημόσιος στατικός κενός κενός (String () args) (System.out.println ("Hello World!");))

Έξοδος :

 Γειά σου Κόσμε! 

Εδώ, η τάξη Test ανήκει πλέον στο πακέτο com.test .

Σύμβαση ονομασίας πακέτων

Το όνομα πακέτου πρέπει να είναι μοναδικό (όπως ένα όνομα τομέα). Ως εκ τούτου, υπάρχει μια σύμβαση για τη δημιουργία ενός πακέτου ως όνομα τομέα, αλλά με αντίστροφη σειρά. Για παράδειγμα, com.company.name

Εδώ, κάθε επίπεδο του πακέτου είναι ένας κατάλογος στο σύστημα αρχείων σας. Σαν αυτό:

 └── com └── εταιρεία └── όνομα 

Και, δεν υπάρχει περιορισμός στον αριθμό των υποκαταλόγων (ιεραρχία πακέτων) που μπορείτε να δημιουργήσετε.

Πώς να δημιουργήσετε ένα πακέτο στο Intellij IDEA;

Στο IntelliJ IDEA, δείτε πώς μπορείτε να δημιουργήσετε ένα πακέτο:

  1. Κάντε δεξί κλικ στο φάκελο προέλευσης.
  2. Μετάβαση στο νέο και στη συνέχεια το πακέτο .
  3. Θα εμφανιστεί ένα αναδυόμενο πλαίσιο όπου μπορείτε να εισαγάγετε το όνομα του πακέτου.

Μόλις δημιουργηθεί το πακέτο, μια παρόμοια δομή φακέλων θα δημιουργηθεί και στο σύστημα αρχείων σας. Τώρα, μπορείτε να δημιουργήσετε τάξεις, διεπαφές και ούτω καθεξής μέσα στο πακέτο.

Πώς να εισαγάγετε πακέτα στην Java;

Η Java έχει μια importδήλωση που σας επιτρέπει να εισαγάγετε ένα ολόκληρο πακέτο (όπως σε προηγούμενα παραδείγματα) ή να χρησιμοποιήσετε μόνο συγκεκριμένες κλάσεις και διεπαφές που ορίζονται στο πακέτο.

The general form of import statement is:

 import package.name.ClassName; // To import a certain class only import package.name.* // To import the whole package 

For example,

 import java.util.Date; // imports only Date class import java.io.*; // imports everything inside java.io package 

The import statement is optional in Java.

If you want to use class/interface from a certain package, you can also use its fully qualified name, which includes its full package hierarchy.

Here is an example to import a package using the import statement.

 import java.util.Date; class MyClass implements Date ( // body ) 

The same task can be done using the fully qualified name as follows:

 class MyClass implements java.util.Date ( //body ) 

Example: Package and importing package

Suppose, you have defined a package com.programiz that contains a class Helper.

 package com.programiz; public class Helper ( public static String getFormattedDollar (double value)( return String.format("$%.2f", value); ) ) 

Now, you can import Helper class from com.programiz package to your implementation class. Once you import it, the class can be referred directly by its name. Here's how:

 import com.programiz.Helper; class UseHelper ( public static void main(String() args) ( double value = 99.5; String formattedValue = Helper.getFormattedDollar(value); System.out.println("formattedValue = " + formattedValue); ) ) 

Output:

 formattedValue = $99.50 

Here,

  1. the Helper class is defined in com.programiz package.
  2. η τάξη Helper εισάγεται σε διαφορετικό αρχείο. Το αρχείο περιέχει τάξη UseHelper.
  3. Η getFormattedDollar()μέθοδος της τάξης Helper καλείται από μέσα στην τάξη UseHelper.
Πακέτο εισαγωγής Java

Στην Java, η importδήλωση γράφεται αμέσως μετά τη δήλωση πακέτου (εάν υπάρχει) και πριν από τον ορισμό της κλάσης.

Για παράδειγμα,

package package.name; εισαγωγή πακέτου.ClassName; // εισαγάγετε μόνο κλάση κλάσης MyClass (// body)

ενδιαφέροντα άρθρα...