※ ChatGPTを利用し、要約された質問です(原文:インターフェイスを2つ以上実装)
インターフェイスの実装について
このQ&Aのポイント
Javaのインターフェイスは2つ以上のクラスに実装することができます。しかし、自分で追加したインターフェイスの実装にエラーが発生し、コンパイルできない問題が発生しています。原因を特定する方法について教えてください。
インターフェイスはクラスの共通の仕組みや機能を定義するために使用されます。この質問では、車のナンバー、ガソリン量、材質、色を示すインターフェイスが定義されています。しかし、追加した色インターフェイスの実装でエラーが発生しています。どのように修正すればコンパイルエラーを解消できるか教えてください。
Javaにはインターフェイスという機能があります。これはクラスの仕組みや機能を抽象的に定義するために使用されます。この質問では、車のナンバー、ガソリン量、材質、色を示すインターフェイスが定義されています。しかし、新しく追加した色インターフェイスの実装でエラーが発生しています。具体的には、カッコが余分に入っているためにコンパイルできない状態です。どのように修正するか教えてください。
こんにちは。
高橋麻奈さん著の「やさしいJava」を使ってJavaを学んでいるのですが、インターフェイスのところでつまずいています。
インターフェイスは2つ以上クラスに実装できるということですが、本に書いてあるサンプル文では2つ実装されているものが載っています。
それにさらにもう一つインターフェイスを自分で書き加えて実装させてみたのですが、エラーが出てコンパイルできませんでした。書き加える前の状態では普通にコンパイル&実行できました。
ということは書き加えた部分が間違ってるはずなのですが自分には何処が間違っているのかわかりません。
以下にそのコード全文を載せておきますね。(色インターフェイス関連が書き加えた部分)
どなたかわかるかたがいらっしゃいましたらご回答お願いします。
//のりものインターフェイス
interface iVehicle
{
void vShow();
}
//材料インターフェイス
interface iMaterial
{
void mShow();
}
//色インターフェイス
interface iColor();
{
void cShow();
}
//車クラス
class Car implements iVehicle, iMaterial, iColor
{
private int num;
private double gas;
public Car(int n, double g)
{
num = n;
gas = g;
System.out.println("ナンバー" + num + "ガソリン量" + gas + "の車を作成しました");
}
public void vShow()
{
System.out.println("車のナンバーは" + num + "です");
System.out.println("ガソリン量は" + gas + "です");
}
public void mShow()
{
System.out.println("車の材質は鉄です");
}
public void cShow()
{
System.out.println("車の色は黄色です");
}
}
class Sample4
{
public static void main(String args[])
{
Car car1 = new Car(1234, 20.5);
car1.vShow();
car1.mShow();
car1.cShow();
}
}
お礼
回答ありがとうございます。 無事コンパイルできました。 こんなところが間違っていたことにも気が付かないなんて…! 自分の程度の低さを恥ずかしく思いました 笑