class A
{
public void out()
{
System.out.println("a");
}
}
class B extends A
{
public void out()
{
System.out.println("b");
}
}
class C extends B
{
public void out()
{
System.out.println("c");
super.out();
}
}
class W
{
public static void main(String[] args)
{
C m=new C();
m.out();
}
}输出是:
c
b
很容易理解,因为super.out();可以调用父类的方法。请问如何在C类中调用A类的方法?有没有像super.out();一样的好用的?谢谢

解决方案 »

  1.   

    class A
    {
    public void out()
    {
    System.out.println("a");
    }
    }
    class B extends A
    {
    public void out()
    {
    System.out.println("b");
    super.out(); //加个这
    }
    }
    class C extends B
    {
    public void out()
    {
    System.out.println("c");
    super.out();
    }
    }
    class e
    {
    public static void main(String[] args)
    {
    C m=new C();
    m.out();
    }
    }
      

  2.   

    这个我会,我想问有没有其他方法?我只想输出C和A,不想输出B。
    也就是说“能不能”直接调用“顶层类”的“已经被覆盖了”的方法?
      

  3.   

    那用这个可以调用A中的方法:
    A n = new A();
      n.out();
      

  4.   

    。。那个我也会,我的意思是有没有类似super.out()这样的,可以直接调用顶层类的方法?