Java Language
Pakiety
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