Javaのクラスで使われる用語のまとめです。
目次
用語 | クラスで使われる用語 |
静的クラスで使われる用語 |
クラスで使われる用語
クラスで使われる用語です。
package test1;
class Sample1 {
// メンバー変数、フィールド、フィールド変数、インスタンス変数
private int num1 = 1;
public int getNum() {
//ローカル変数
int num2 = 2;
return (num1 + num2);
}
}
public class Test1 {
public static void main(String[] args) {
Sample1 a = new Sample1();
System.out.println(a.getNum()); // 3
}
}
メンバー変数
5行目は、メンバー変数またはフィールドまたはフィールド変数と呼ばれます。
クラスのブロック内にある変数です。
ブロック
ブロックとは、「{」(波括弧) から「}」までをブロックと言います。
ブロック内の変数のスコープはブロック内のみです。
ブロックの外に宣言した変数はブロック内からでも参照できます。
スコープとは、変数が有効な範囲です。
インスタンス変数
5行目の変数は、15行目でSample1クラスをインスタンス化しているのでインスタンス変数とも呼ばれます。インスタンス変数とは、インスタンスごとに確保される変数です。
メソッドとローカル変数
7行目はメソッドです。
9行目は、メソッド内の変数なのでローカル変数です。ローカル変数のスコープはメソッド内のみ(7~11行目)です。メソッドを抜けると値はメモリから失われます。
メンバー
クラスのブロックに含まれる、メンバー変数、メソッド、コンストラクタなどをメンバーと言います。
リテラル
5,9行目の変数にセットしている1と2はリテラル(整数リテラル)です。リテラルとはコードに記述された値です。
静的クラスで使われる用語
静的クラスで使われる用語です。静的クラスはインスタンスを生成しません。
package test1;
class Sample2{
public static int num2 = 100; //クラス変数
public static final int NUM3 = 200; //クラス定数
}
public class Test1 {
public static void main(String[] args) {
System.out.println(Sample2.num2); // 100
Sample2.num2 = 101;
System.out.println(Sample2.num2);//101
System.out.println(Sample2.NUM3); // 200
// Sample2.NUM3 = 201; //final フィールド には代入できません
// System.out.println(Sample2.NUM3);
}
}
クラス変数
4行目は、修飾子のstaticが付いています。
クラス変数またはクラスフィールドまたはstaticフィールドまたは静的フィールドとも言います。
10行目のようにインスタンス化しなくても値を参照できる変数です。
11行目のようにクラス変数に値を代入できます。
クラス定数
5行目は、修飾子のfinalが付いています。クラス定数といいます。
値の再代入ができません。
一般的に定数名は変数と区別が付くように大文字にし単語の区切りがある場合は、アンダースコアにします。
15行目のようにクラス定数には値を代入できません。コンパイルエラーになります。
関連の記事
Java入門 クラスの仕組みとサンプル
Java 親子クラス/インターフェースの代入(キャスト)
Java staticメソッド/変数 (newしないで使用できる)