Javaクラス属性
Javaクラス属性
前の章ではx
、例で「変数」という用語を使用しました(以下を参照)。これは実際に
はクラスの属性です。または、クラス属性はクラス内の変数であると言うことができます。
例
Main
2つの属性を持つ""というクラスを作成します:x
とy
:
public class Main {
int x = 5;
int y = 3;
}
クラス属性の別の用語はフィールドです。
属性へのアクセス
.
クラスのオブジェクトを作成し、ドット構文( )を使用して、属性にアクセスできます。
Main
次の例では、という名前のクラスのオブジェクトを作成しますmyObj
。x
オブジェクトの属性を使用して、その値を出力します。
例
""というオブジェクトを作成し、:myObj
の値を出力します。x
public class Main {
int x = 5;
public static void main(String[] args) {
Main myObj = new Main();
System.out.println(myObj.x);
}
}
属性を変更する
属性値を変更することもできます。
例
の値x
を40に設定します。
public class Main {
int x;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 40;
System.out.println(myObj.x);
}
}
または、既存の値を上書きします。
例
の値x
を25に変更します。
public class Main {
int x = 10;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 25; // x is now 25
System.out.println(myObj.x);
}
}
既存の値をオーバーライドする機能が必要ない場合は、属性を次のように宣言しますfinal
。
例
public class Main {
final int x = 10;
public static void main(String[] args) {
Main myObj = new Main();
myObj.x = 25; // will generate an error: cannot assign a value to a final variable
System.out.println(myObj.x);
}
}
このfinal
キーワードは、PI(3.14159 ...)のように、変数に常に同じ値を格納する場合に役立ちます。
final
キーワードは「修飾子」と呼ばれます。これらの詳細については、Java修飾子の章を参照してください。
複数のオブジェクト
1つのクラスの複数のオブジェクトを作成する場合、他のオブジェクトの属性値に影響を与えることなく、1つのオブジェクトの属性値を変更できます。
例
の値x
を25に変更しmyObj2
、変更x
しないでmyObj1
ください。
public class Main {
int x = 5;
public static void main(String[] args) {
Main myObj1 = new Main(); // Object 1
Main myObj2 = new Main(); // Object 2
myObj2.x = 25;
System.out.println(myObj1.x); // Outputs 5
System.out.println(myObj2.x); // Outputs 25
}
}
複数の属性
必要な数の属性を指定できます。
例
public class Main {
String fname = "John";
String lname = "Doe";
int age = 24;
public static void main(String[] args) {
Main myObj = new Main();
System.out.println("Name: " + myObj.fname + " " + myObj.lname);
System.out.println("Age: " + myObj.age);
}
}
次の章では、クラスメソッドを作成する方法と、オブジェクトを使用してそれらにアクセスする方法について説明します。