無印フィールド
日本語 | 無印フィールド |
英語 | access modifier omitted field |
ふりがな | むいんふぃーるど、むじるしふぃーるど |
フリガナ | ムインフィールド、ムジルシフィールド |
public private protectedのどの修飾子も付けられていないフィールド。
フィールドのデフォルトのアクセスコントロール。便宜上「無印」と表記されるが、特定の名称はない。
一見「public private protectedのどれか」が暗黙的に付けられているかのように見えるが、実はそのどれとも異なる。
無印フィールドは、同パッケージのクラスのみから使用できる。他のパッケージのクラスからは使用できない。
非常に紛らわしいく、しかも使い道が特にないため、できる限り使用を控えた方がよい。
フィールドのデフォルトのアクセスコントロール。便宜上「無印」と表記されるが、特定の名称はない。
一見「public private protectedのどれか」が暗黙的に付けられているかのように見えるが、実はそのどれとも異なる。
無印フィールドは、同パッケージのクラスのみから使用できる。他のパッケージのクラスからは使用できない。
非常に紛らわしいく、しかも使い道が特にないため、できる限り使用を控えた方がよい。
参考サイト
- (参考サイトはありません)
// Sample.java
// testパッケージのOtherPackageClassクラスを使用します。
import test.OtherPackageClass;
public class Sample
{
public static void main( String[] args )
{
// NormalClassクラスを使います。
NormalClass normalClass = new NormalClass();
normalClass.data = 100;
System.out.println( normalClass.data );
// NormalClass#output()
// 他パッケージにあるクラスの
// 無印フィールドはアクセスできません。
OtherPackageClass otherPackageClass = new OtherPackageClass();
// otherPackageClass.data = 100;
// コンパイルエラー:
// フィールド otherPackageClass.data は不可視です。
}
}
/**
* 普通のクラス。
*/
class NormalClass
{
/**
* 無印フィールド。
*/
int data;
}
// test/OtherPackageClass.java
package test;
/**
* 普通のクラス。
*/
public class OtherPackageClass
{
/**
* 無印フィールド。
*/
int data;
}
// testパッケージのOtherPackageClassクラスを使用します。
import test.OtherPackageClass;
public class Sample
{
public static void main( String[] args )
{
// NormalClassクラスを使います。
NormalClass normalClass = new NormalClass();
normalClass.data = 100;
System.out.println( normalClass.data );
// NormalClass#output()
// 他パッケージにあるクラスの
// 無印フィールドはアクセスできません。
OtherPackageClass otherPackageClass = new OtherPackageClass();
// otherPackageClass.data = 100;
// コンパイルエラー:
// フィールド otherPackageClass.data は不可視です。
}
}
/**
* 普通のクラス。
*/
class NormalClass
{
/**
* 無印フィールド。
*/
int data;
}
// test/OtherPackageClass.java
package test;
/**
* 普通のクラス。
*/
public class OtherPackageClass
{
/**
* 無印フィールド。
*/
int data;
}
// Sample.java // testパッケージのOtherPackageClassクラスを使用します。 import test.OtherPackageClass; public class Sample { public static void main( String[] args ) { // NormalClassクラスを使います。 NormalClass normalClass = new NormalClass(); normalClass.data = 100; System.out.println( normalClass.data ); // NormalClass#output() // 他パッケージにあるクラスの // 無印フィールドはアクセスできません。 OtherPackageClass otherPackageClass = new OtherPackageClass(); // otherPackageClass.data = 100; // コンパイルエラー: // フィールド otherPackageClass.data は不可視です。 } } /** * 普通のクラス。 */ class NormalClass { /** * 無印フィールド。 */ int data; } // test/OtherPackageClass.java package test; /** * 普通のクラス。 */ public class OtherPackageClass { /** * 無印フィールド。 */ int data; }