2016-07-10 5 views
-3

javaで "ローカル命令"とは何ですか?私はこの例を見て、継承を理解していますが、ローカル命令についての説明が必要です。Javaではローカル命令は何を意味しますか?

class javafunc { 

     public static void main(String aa[]) { 

     javafunc e = new javafunc(); 
     B b = new E(); //local instruction 
     b.print(); 

    } 
    } 

    class B { 

    public void print() { 

    System.out.println("In B"); 

     } 
     } 

    class E extends B { 

    public void print() { 

    System.out.println("In E"); 
      }} 
+1

このような言葉は一度も聞いたことがありません。どこからこれを取得しましたか?代わりに*ローカル変数*を意味するのでしょうか? – chrylis

+0

Ok、あなたはjavaにローカル命令と呼ばれる用語は全くありませんか?ありがとう、私はローカル変数の意味を知っています。 – user3449656

答えて

0

これはメソッドのオーバーライドのケースです。親クラス(クラスB)と子クラス(クラスE)の両方が同じメソッド "void print()"を持つことがわかります。では、どのような方法を実行する必要がありますか? クラスEメソッドは親クラスから継承していても実行されます。 クラスEメソッドは、親クラスから継承していても実行されます。

B b = new E(); // B reference but E object 

"B"の参照変数を作成していても、クラスEのメソッドが実行されます。これは、実行時にJVMがオブジェクトに対して指定されたメソッドを実行するためです。 あなたの//ローカルの指示についてはわかりませんが、行は、 "E"オブジェクトに対して "B"型の参照変数 "b"を作成していることを意味します。

関連する問題