0
public class StaticInnerClass {
 public static void main(String[] args) {


    //Outers out=new Outers();
    Outers.Inner1 in=new Outers.Inner2();
    in.display();
}
 }

class Outers
{
static class Inner1
{
    static void display()
    {
        display();
        System.out.println("Inner1");
    }
}

static class Inner2 extends Inner1
{
    static void display()
    {

        System.out.println("Inner2");
    }
}
}

上記のプログラムでは、stackoverflow エラーが発生します。静的メソッドがオーバーライドされないため、「Inner1」が表示されない理由を説明してください。

4

3 に答える 3

1

静的メソッドは多態的に呼び出されません!

これにより、スタック オーバーフロー エラーが発生するまで、メソッド表示が何度も呼び出されます。また、この質問を参照してください:ポリモーフィズムと静的メソッド

于 2013-09-24T11:36:23.353 に答える