Szukaj…


Wprowadzenie

Pakiet w java służy do grupowania klasy i interfejsów. Pomaga to programistom uniknąć konfliktu, gdy istnieje ogromna liczba klas. Jeśli użyjemy tego pakietu, klasy możemy stworzyć klasę / interfejs o tej samej nazwie w różnych pakietach. Korzystając z pakietów, możemy ponownie zaimportować kawałek do innej klasy. Istnieje wiele wbudowanych pakietów w Javie, takich jak> 1.java.util> 2.java.lang> 3.java.io Możemy zdefiniować własne pakiety zdefiniowane przez użytkownika .

Uwagi

Pakiety zapewniają ochronę dostępu.

instrukcja pakiet musi być pierwszym wierszem kodu źródłowego. W jednym pliku źródłowym może znajdować się tylko jedna paczka.

Za pomocą pakietów można uniknąć konfliktu między różnymi modułami.

Używanie pakietów do tworzenia klas o tej samej nazwie

Pierwsza klasa testowa:

package foo.bar

public class Test {

}

Również Test.class w innym pakiecie

package foo.bar.baz

public class Test {

}

Powyższe jest w porządku, ponieważ dwie klasy istnieją w różnych pakietach.

Korzystanie z zakresu chronionego pakietu

W Javie, jeśli nie podasz modyfikatora dostępu, domyślnym zakresem dla zmiennych jest poziom ochrony pakietu. Oznacza to, że klasy mogą uzyskać dostęp do zmiennych innych klas w tym samym pakiecie, jakby te zmienne były publicznie dostępne.

package foo.bar

public class ExampleClass {
    double exampleNumber;
    String exampleString;

    public ExampleClass() {
        exampleNumber = 3;
        exampleString = "Test String";
    }
    //No getters or setters
}

package foo.bar

public class AnotherClass {
    ExampleClass clazz = new ExampleClass();

    System.out.println("Example Number: " + clazz.exampleNumber);
    //Prints Example Number: 3
    System.out.println("Example String: " + clazz.exampleString);
    //Prints Example String: Test String
}

Ta metoda nie będzie działać dla klasy w innym pakiecie:

package baz.foo

public class ThisShouldNotWork {
    ExampleClass clazz = new ExampleClass();

    System.out.println("Example Number: " + clazz.exampleNumber);
    //Throws an exception
    System.out.println("Example String: " + clazz.exampleString);
    //Throws an exception
}


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow