0

私はJavaプログラミングとポリモーフィズムの学習が初めてです。

__編集__

みんなから受け取った回答によると、コードがあります:

Derivedここでは、オブジェクト ( obj) を型キャストしてBaseから呼び出してmethod()います。

public class Tester {
    public static void main(String[] args) {
        Base obj=(Base)new Derived();
        obj.method();
    }   
}

class Base{
    public void method(){
        System.out.println("In Base");
    }
}

class Derived extends Base{
    public void method(){
        System.out.println("In Derived");
    }
}

私が得ている出力は次のとおりです。

したがって、型キャストした後、オブジェクトは型Baseによって参照されるBase型になるはずです。しかし、それは起こっていませんか?なんで?

タイプキャストは子から親への変換で機能しますか、それともここでは効果がありませんか?

4

3 に答える 3

0

異なるクラスに同じメソッド名がある場合、コンパイラは次の方法で認識します。1-引数を渡す場合、渡す引数のタイプにより、呼び出されるメソッドがコンパイラに通知されますclasses 、次にメソッドを呼び出したいそのクラスのオブジェクトを作成します

于 2016-02-14T17:48:49.687 に答える