Java Language
paket
Sök…
Introduktion
paket i java används för gruppklass och gränssnitt. Detta hjälper utvecklare att undvika konflikter när det finns ett stort antal klasser. Om vi använder detta paket klasserna kan vi skapa en klass / gränssnitt med samma namn i olika paket. Genom att använda paket kan vi importera biten igen i en annan klass. Det finns många inbyggda paket i java som> 1.java.util> 2.java.lang> 3.java.io Vi kan definiera våra egna användardefinierade paket .
Anmärkningar
Paket ger åtkomstskydd.
paketförklaring måste vara den första raden i källkoden. Det kan bara finnas ett paket i en källfil.
Med hjälp av paket kan konflikter mellan olika moduler undvikas.
Använd paket för att skapa klasser med samma namn
Första test.klass:
package foo.bar
public class Test {
}
Testa också klass i ett annat paket
package foo.bar.baz
public class Test {
}
Ovanstående är bra eftersom de två klasserna finns i olika paket.
Använda paketskyddat räckvidd
Om du inte tillhandahåller en åtkomstmodifiering i Java är standardomfånget för variabler paketskyddad nivå. Detta innebär att klasser kan komma åt variablerna för andra klasser i samma paket som om dessa variabler var offentligt tillgängliga.
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
}
Den här metoden fungerar inte för en klass i ett annat paket:
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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow