Java Language
пакеты
Поиск…
Вступление
пакет в java используется для группировки класса и интерфейсов. Это помогает разработчику избегать конфликтов, когда существует огромное количество классов. Если мы используем этот пакет для классов, мы можем создать класс / интерфейс с тем же именем в разных пакетах. Используя пакеты, мы можем импортировать кусок снова в другой класс. Там много встроенных пакетов в java как> 1.java.util> 2.java.lang> 3.java.io Мы можем определить наши собственные пользовательские пакеты .
замечания
Пакеты обеспечивают защиту доступа.
оператор пакета должен быть первой строкой исходного кода. В одном исходном файле может быть только один пакет.
С помощью пакетов можно избежать конфликта между различными модулями.
Использование пакетов для создания классов с тем же именем
Первый тест. Класс:
package foo.bar
public class Test {
}
Также Test.class в другой упаковке
package foo.bar.baz
public class Test {
}
Вышеуказанное прекрасно, потому что два класса существуют в разных пакетах.
Использование защищенного пакета
В Java, если вы не предоставляете модификатор доступа, область по умолчанию для переменных является защищенным пакетом. Это означает, что классы могут обращаться к переменным других классов в одном пакете, как если бы эти переменные были общедоступными.
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
}
Этот метод не будет работать для класса в другом пакете:
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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow