Java Language
パッケージ
サーチ…
前書き
javaのパッケージは、クラスとインタフェースをグループ化するために使用されます。膨大な数のクラスがある場合、これにより開発者は競合を避けることができます。このパッケージを使用すると、異なるパッケージに同じ名前のクラス/インタフェースを作成できます。パッケージを使用することで、もう1つのクラスでそのピースをインポートすることができます。 > 1.java.util> 2.java.lang> 3.java.ioのようなjavaには、多くのパッケージが組み込ま れています 。独自のユーザー定義パッケージを定義できます 。
備考
パッケージはアクセス保護を提供します。
package文は、ソースコードの1行目でなければなりません。 1つのソースファイルには1つのパッケージしか存在しません。
パッケージの助けを借りて、異なるモジュール間の競合を回避することができます。
パッケージを使用して同じ名前のクラスを作成する
最初のTest.class:
package foo.bar
public class Test {
}
別のパッケージのTest.class
package foo.bar.baz
public class Test {
}
2つのクラスが異なるパッケージに存在するため、上記はうまくいきます。
パッケージ保護範囲の使用
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