class A{
name();
}
class B extends A{
B b=new B().name();
}
请问name()这个方法调用的是子类的还是父类的啊?
请详细说一下原因哈?

解决方案 »

  1.   


    class A{ 
    name(); 

    class B extends A{ 
    B b=new B();
    b.name(); 

    调用的是父类的name方法,因为子类只是进行了集成并未重写父类的那么方法
      

  2.   

    要调用父类的, 就用super.xxx()B b=new B().name();
    这能通过么????
      

  3.   

    子类中可以通过super来代替父类的实例,如果要调用的是父类中的一些被声名为终极的东西,可以直接使用父类的名称去调用。
    如果你的子类要调用父类的方法,而子类上并没有覆盖这一方法,你可以直接使用它的函数名来直接调用
      

  4.   

    子类中可以通过super来代替父类的实例,如果要调用的是父类中的一些被声名为终极的东西,可以直接使用父类的名称去调用。
    如果你的子类要调用父类的方法,而子类上并没有覆盖这一方法,你可以直接使用它的函数名来直接调用
      

  5.   

    兄弟。你是新手吧。。进群学习吧。。IT进阶者QQ群。。Fighting。75627891。学术交流。。职场征战。。工作感想。。生活闲情。。期待各位的加入助人助己。。其乐融融。。
      

  6.   

    B b=new B().name(); 这行因该这样写
    new B().name(); 
      

  7.   

    使用 super.name();就可以了,调用自身用this,调用父类用super
      

  8.   

    超类的
    子类如果覆盖这个方法(在子类也定义一个name())的话调用是子类的
    在上述条件下想在子类中调用超类的name需要用super
      

  9.   

    如果是调用父类的构造方法用super();
    否则用super.方法;
    而上面你调用的是父类中的name方法.具体看下面的代码!
    public class A

    void name()
    {
    System.out.println("你调用的是父类中的name方法");


    class B extends A

    public static void main(String args[])
    {
    new B().name();
    } } 
      

  10.   


    public class A

        void name()
        {
            System.out.println("你调用的是父类中的name方法");
        } 

    class B extends A

        public static void main(String args[])
        {
            super.name();
        }    } 
      

  11.   

    public class Animal{
         String name;
       public Animal(){};
         public void Bite(){
           System.out.println("yao");
         } 
        public static void main(String [] args){
           Animal A = new Animal();
           Dog    B = new Dog("xiaogou");
           Cat    C = new Cat("xiaomao");
           A.Bite();
           B.Bite();        System.out.println(B.getname());
           C.Bite();        C.getname();
        }}
     class Dog extends Animal{
         public Dog(String name){
           this.name = name;
         }
          public void Bite(){
          System.out.println("gou yao");
         }
         public String getname(){
           //System.out.println(this.name);
           return name;
          }
      }
       class Cat extends Animal{
              
         public Cat(String name){
         this.name = name;
         }
        public void Bite(){
          System.out.println("mao yao");
      }
       public void getname(){
          System.out.println(this.name);
           //return name;
          }  
       }这是我写的,LZ你试着看看。
     看看能不能弄懂一些东西。
      

  12.   

    如果没有重写弗雷德方法,当然是调用弗雷德方法了。
    如果重写课,只能通过spuer来显式调用父类的方法。
      

  13.   

    上面的没有写好哦!如果没有重写父类的方法,当然是调用父类的方法了。 
    如果重写了,只能通过spuer来显式调用父类的方法。