Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:抽象クラス、インターフェイスについて)

抽象クラス、インターフェイスについて

このQ&Aのポイント
  • 抽象クラスとインターフェイスの違いや使い方について解説します。
  • コンパイルエラーが発生しているコードについて、具体的なエラーの原因と対処法を紹介します。
  • このコードは、iVehicleインターフェイスを実装したCarクラスとPlaneクラスを使用しています。各クラスの特徴と使い方について解説します。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.2

「コンパイルができない」という話ですよね。また、タイプミスのレベルだと 思うんですが、とりあえず、全部指摘しておきます。 (1) for(int i=0; i<vc.length; i++){ (2)   if(vc[i] instanceof Car) (3)     System.out.println((i+1)+"番目のオブジェクトはCarクラスです"); (4)   else (5)     Sytem.out.println((i+1)+"番目のオブジェクトはCarクラスではありません"); (6)   } (7) } (1) vc.length → ivc.length (2) vc[i] → ivc[i] (5) Sytem → System (6) 余分な } といったところです。

koujin
質問者

お礼

ありがとうございした。しっかりと 指摘してもらえたのでなんとか直せました。 タイプミスって本人見つけにくいんですよね、 でもあまりにも自分は多すぎるので気をつけます。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

ほとんどがタイプミスですね。気を落ち着けてコンパイルエラーのメッセージを見ましょう。 //のりものインターフェース の行を第1行として、 % diff -w a.java.orig a.java 12c12 < public Car(int n, double g)) --- > public Car(int n, double g) かっこが一つ多いです。 25c25 < class Plane extends Vehicle --- > class Plane implements iVehicle iVehicle のタイプミス、と、iVehicle はインターフェースなので、 extends ではなく、implements ですね。 51c51 < if(vc[i] instanceof Car) --- > if(ivc[i] instanceof Car) 変数のタイプミス。 動作させてみると、 % java sample8 ナンバー1234ガソリン量20.5の車を作成しました 便232の飛行機を作成しました 車のナンバーは1234です ガソリン量は20.5です とでます。

koujin
質問者

補足

ありがとうございました。タイプミスとは・・恥ずかしい限りです。 ところで、前回のは無事実行出来たのですが、類似コードでinstanceof演算子を以下のように使ったコードをコンパイルすると、シンボル処理できません。 シンボル:クラス・out 位置  :Systemのパッケージ System.out.prinntln(***~else以下の分のところです と出ます。これはどういうことなのでしょうか? 教えてください。 for(int i=0; i<vc.length; i++){ if(vc[i] instanceof Car) System.out.println((i+1)+"番目のオブジェクトはCarクラスです"); else Sytem.out.println((i+1)+"番目のオブジェクトはCarクラスではありません"); } }

すると、全ての回答が全文表示されます。

関連するQ&A