public class Car {
// クラスのフィールドやコンストラクタがここに入ります...
// 問題1: publicなメソッドを追加してください。
public void startEngine() {
// エンジンを起動する処理を実装します
System.out.println("エンジンを起動しました。");
}
public void drive() {
// 車を運転する処理を実装します
System.out.println("車を運転しています。");
}
public void stop() {
// 車を停止する処理を実装します
System.out.println("車を停止しました。");
}
}
この解答例では、Car
クラスに startEngine
、drive
、および stop
という public
なメソッドを追加しました。それぞれのメソッドは単純なメッセージを表示するだけのものですが、実際のアプリケーションではこれらのメソッド内には複雑な処理が含まれることがあります。例えば、startEngine
メソッドではエンジンの点火や燃料供給の制御を行ったり、drive
メソッドでは車両の速度や方向の制御を行ったりします。
publicメソッド
public
メソッドは、Javaでクラス内のメソッドに適用されるアクセス修飾子の一つであり、他のクラスから直接アクセス可能なメソッドを示します。以下に、public
メソッドの特徴と使用方法について解説します。
public
メソッドの特徴:
- アクセス可能性:
public
メソッドは他のクラスから直接アクセス可能です。これにより、他のクラスからそのメソッドを呼び出すことができます。 - 外部APIの一部: クラスが提供する外部に公開されるAPIの一部として、
public
メソッドは他の開発者が使用できるようになります。このようなメソッドは、クラスの主要な機能や機能の一部を提供する役割を果たすことが一般的です。 - ゲッターとセッター: クラスのフィールドにアクセスするためのゲッターとセッターも一般的に
public
メソッドとして実装されます。これにより、外部からクラスの状態を取得し、変更することが可能になります。
public
メソッドの使用例:
public class Person {
private String name;
private int age;
// コンストラクタや他のメソッドがここに入ります...
// nameフィールドにアクセスするためのゲッターメソッド
public String getName() {
return name;
}
// nameフィールドに新しい値を設定するためのセッターメソッド
public void setName(String newName) {
name = newName;
}
// ageフィールドにアクセスするためのゲッターメソッド
public int getAge() {
return age;
}
// ageフィールドに新しい値を設定するためのセッターメソッド
public void setAge(int newAge) {
if (newAge >= 0) {
age = newAge;
} else {
System.out.println("年齢は負になりません。");
}
}
// Personの情報を表示するメソッド
public void displayInfo() {
System.out.println("名前: " + name + ", 年齢: " + age + "歳");
}
}
この Person
クラスには、public
メソッドとして getName
、setName
、getAge
、setAge
、および displayInfo
があります。これらのメソッドを使用することで、他のクラスから Person
インスタンスの情報にアクセスしたり、変更したりできます。
public class PersonUsage {
public static void main(String[] args) {
// Personクラスのインスタンスを作成
Person person1 = new Person();
// setNameメソッドを使用して名前を設定
person1.setName("Alice");
// setAgeメソッドを使用して年齢を設定
person1.setAge(25);
// displayInfoメソッドを使用してPersonの情報を表示
person1.displayInfo();
}
}
PersonUsage
クラスでは、Person
クラスのインスタンスを作成し、setName
メソッド、setAge
メソッド、および displayInfo
メソッドを使用して Person
クラスの機能を活用しています。