2017-04-19 17 views
0

私は今朝javaで継承について議論しましたが、コードに誤りがあり、教授が私のエラーを指摘するのに役立つことができませんでした?継承java "シンボルを見つけることができません"

package inheritance; 

class Inheritance { 

    void accelerate() 
    { 
    System.out.println("Drive"); 
    } 

    void turn() 
    { 
    System.out.println("Turn!"); 
    } 
} 


class n2wheels extends Inheritance { 


    void fast() 
    { 
    System.out.println("Swift Vehicle"); 
    } 

} 


class n4wheels extends Inheritance { 


    void normal() 
    { 
    System.out.println("Average Vehicle"); 
    } 


} 


class multiwheel extends Inheritance { 


    void slow() 
    { 
    System.out.println("Heavy Vehicle"); 


    } 


    public static void main(String[] args) 
    { 
    Inheritance try1 = new Inheritance(); 
    try1.normal(); 
    } 
} 
+0

というメソッドはありません。あなたのクラスでは「継承」と呼ばれています。 –

+0

'normal'は'継承 'のメソッドではありません。 – luk2302

+0

ちょっとしたヒント:Javaの継承については、たくさんの説明があります。それらを見て、それが意味することとそれがどのように機能するのかを理解しようとする。さもなければ、あなたは明らかにそこに何かを忘れてしまったので、将来は多くの問題を抱えています。がんばろう! – Luftbaum

答えて

0

ノーマル()メソッドは、あなたのInheritanceクラスにはnormal方法がないの継承クラスで

1

を存在しません。

は、少なくとも行います

class Inheritance { 

    void accelerate() { 
     System.out.println("Drive"); 
    } 

    void turn() { 
     System.out.println("Turn!"); 
    } 

    void normal(){} 
} 

か:

n4wheels try1 = new n4wheels(); 
try1.normal(); 

側ノードとして:大文字クラス名を起動してください。 N4Wheels,MultiWheelsなど

0

継承クラスには存在せず、n4wheelsクラスに存在するため、このメソッドを呼び出すことはできません。私はあなたが達成しようとしていることを知らないので、私はあなたに以下の解決策を提供しています。

解決法1:継承クラスでnormal()を呼び出す場合は、同じクラスで宣言します。

class Inheritance { 

    void accelerate() { 
    System.out.println("Drive"); 
    } 

    void turn() { 
    System.out.println("Turn!"); 
    } 

    void normal() { 
    // do something 
    } 
} 

解決方法2:あなたは(通常の呼び出したい場合は)直接、その後n4wheelsクラスのメソッド:

n4wheels try1 = new n4wheels(); 
try1.normal(); 

解決方法3:あなたがポリモーフィズムを実行したい場合は、あなたがする必要はあり'解決法1'で説明した継承クラスのnormal()メソッドを宣言してから、

Inheritance try1 = new n4wheels(); 
try1.normal(); 
関連する問題