Java クラスメソッド
1. Javaクラスメソッド
「Javaメソッド」の章で学んだように、メソッドはクラス内で宣言され、特定のアクションを実行するために使用されます。
以下は、Main クラス内に myMethod() という名前のメソッドを作成する例です:
public class Main {
static void myMethod() {
System.out.println("Hello World!");
}
}myMethod() は呼び出された際に、テキストを出力するという「アクション」を実行します。メソッドを呼び出すには、メソッド名の後に2つの括弧 () とセミコロン ; を記述します。
例:main メソッドの中で myMethod() を呼び出します。
public class Main {
static void myMethod() {
System.out.println("Hello World!");
}
public static void main(String[] args) {
myMethod();
}
}
// 出力: "Hello World!"2. オブジェクトを介したメソッドへのアクセス
例:myCar という名前の Car オブジェクトを作成します。myCar オブジェクトに対して fullThrottle() メソッドと speed() メソッドを呼び出し、プログラムを実行します。
// Mainクラスの作成
public class Main {
// fullThrottle() メソッドの作成
public void fullThrottle() {
System.out.println("車は全開で走っています!");
}
// speed() メソッドの作成(パラメータを追加)
public void speed(int maxSpeed) {
System.out.println("最高速度は: " + maxSpeed);
}
// mainメソッド内で、myCarオブジェクトに対してメソッドを呼び出す
public static void main(String[] args) {
Main myCar = new Main(); // myCarオブジェクトを作成
myCar.fullThrottle(); // fullThrottle() メソッドを呼び出し
myCar.speed(200); // speed() メソッドを呼び出し
}
}
// 出力: 車は全開で走っています!
// 出力: 最高速度は: 2002.1 例の解説
classキーワードを使用して、カスタムクラスMainを作成しました。Mainクラス内にfullThrottle()とspeed()メソッドを作成しました。fullThrottle()メソッドとspeed()メソッドは、呼び出された際にテキストを出力します。speed()メソッドはmaxSpeedという名前のint型パラメータ(引数)を受け取ります。これは手順8で使用します。Mainクラスとそのメソッドを使用するために、Mainクラスのオブジェクトを作成する必要があります。- 次に
main()メソッドへ移動します。これはプログラムを実行するためのJavaのビルトイン(組み込み)メソッドです(main内のコードが実行されます)。 newキーワードを使用して、myCarという名前のオブジェクトを作成しました。- そして、
myCarオブジェクトに対してfullThrottle()とspeed()メソッドを呼び出します。呼び出しにはオブジェクト名(myCar)、ドット(.)、メソッド名(fullThrottle();およびspeed(200);)の順で記述します。speed()メソッドの内部に 200 という int 型の引数を渡している点に注目してください。
3. 覚えておくべきポイント
- ドット(
.)は、オブジェクトの属性(フィールド)やメソッドにアクセスするために使用されます。 - Javaでメソッドを呼び出すには、メソッド名の後に一対の括弧
()を書き、その後にセミコロン ; を記述します。 - クラス名とファイル名は一致している必要があります(
MainクラスならMain.java)。
4. 複数クラスの利用
「クラス」の章で触れたように、あるクラスのオブジェクトを作成し、それを別のクラスからアクセスするのが良いプラクティスとされています。
Javaのファイル名がクラス名と一致している必要があることを忘れないでください。この例では、同じディレクトリ内に2つのファイルを作成します:
Main.javaSecond.java
Main.java
public class Main {
public void fullThrottle() {
System.out.println("車は全開で走っています!");
}
public void speed(int maxSpeed) {
System.out.println("最高速度は: " + maxSpeed);
}
}Second.java
class Second {
public static void main(String[] args) {
Main myObj = new Main();
myObj.fullThrottle();
myObj.speed(200);
}
}両方のファイルをコンパイルします:
C:\Users\Your Name>javac Main.java
C:\Users\Your Name>javac Second.javaSecond.java ファイルを実行します:
C:\Users\Your Name>java Second出力結果は以下の通りです:
車は全開で走っています!
最高速度は: 200