Java クラス属性
Java クラス属性
前の章では、例の x
に「変数」という用語を使用しました (以下に示すように)。これは実際にはクラスの属性です。あるいは、クラス属性はクラス内の変数であるとも言えます。
例
x
とy
の 2 つの属性を持つMain
" という名前のクラスを作成します。
public class Main {
int x = 5;
int y = 3;
}
クラス属性の別の用語はフィールドです。
属性へのアクセス
属性にアクセスするには、クラスのオブジェクトを作成し、ドット構文 (.
)を使用します。
次の例では、myObj
という名前の Main
クラスのオブジェクトを作成します。オブジェクトの 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 つのオブジェクトの属性値を変更できます。
例
myObj2
の x
の値を 25 に変更し、myObj1
の x
を変更しないままにします。
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);
}
}
次の章では、クラス メソッドの作成方法と、オブジェクトを使用してクラス メソッドにアクセスする方法を説明します。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。