A,B,C三个类,C继承B,B继承A,并且都有方法test(),请问可以在C中直接调用A的test方法吗?

解决方案 »

  1.   

    显然不可以直接调用!c调用b的都得通过b来操作
      

  2.   

    在B里写个方法比如method调用A里的test() 方法
    然后在C里写个方法
    调用B里的method方法
      

  3.   

    class A{
    public void test(){
      System.out.println("A.test()");
    }
    }class B extends A{
    public void test(){
    System.out.print("B.test()");
    }
    }public class C extends B{ public static void main(String[] args) {
            C x = new C();
            x.test();
    }}
    结果为:B.test()
      

  4.   

    没办法,A的test()信息丢失了
      

  5.   

    不行的A信息丢失了,必须在Bzhong 实现一个方法
      

  6.   

    package jsp;import java.io.*;public class A {    public void test() {
            System.out.println("A.test()");
        }    public static void main(String[] args) {
            C c=new C();
            c.test();
            c.grandtest();
        }
    }
    class B extends A {
        public void test() {
            System.out.println("B.test()");
        }
        
        public void Atest()
        {
            super.test();
        }
    }class C extends B
    {
        public void test()
        {
            System.out.println("C.test()");
        }
        
        public void grandtest()
        {
            super.Atest();
        }
    }
      

  7.   

    可以直接调用的
     nanjixiong043() ( ) 信誉:100  2007-08-08 12:54:13  得分: 0  
     
     
       class A{
    public void test(){
      System.out.println("A.test()");
    }
    }class B extends A{
    public void test(){
    System.out.print("B.test()");
    }
    }public class C extends B{ public static void main(String[] args) {
            C x = new C();
            x.test();
    }}
    结果为:B.test()
     原因是在B继承A的时候把A的test()方法给重写了,所以C继承不了A,如果想C继承A ,就不要在B中重写A的方法,改为如下所示就可以了
     nanjixiong043() ( ) 信誉:100  2007-08-08 12:54:13  得分: 0  
     
     
       class A{
    public void test(){
      System.out.println("A.test()");
    }
    }class B extends A{
    public void test1(){
    System.out.print("B.test()");
    }
    }public class C extends B{ public static void main(String[] args) {
            C x = new C();
            x.test();
    }}
    结果为:A.test()