两个具体类之间的抽象类 - java

时间:2018-02-18 18:00:15

标签: java class inheritance abstract

基本上,我在两个concreate类之间有一个抽象类,并希望这个三明治的底层能够调用两个父类的所有名称。 这不起作用,我想知道为什么?不是代码,我写道,没有计算机只是逻辑。

调用get name后我期望的输出是: 客户!中间人!myShop!

public abstract class StoreClerk extends Shop { 
    string name =  "MiddleMan!";

    public getName {
        return this.name + super.getName();
    }

}

public class Shop {
    string name = "myShop!";

    public getName() {
        return this.name;
    }
}

public class Customer extends StoreClerk {
    string name = "customer!";

    public getName() {
        return this.name + super.getName();
    }
}

public class void main(String args[]) {   
    Customer ibrahim = new Customer();
    ibrahim.getName();
}

1 个答案:

答案 0 :(得分:3)

工作代码:

abstract class StoreClerk extends Shop {
    String name = "MiddleMan!";

    public String getName() {
        return this.name + super.getName();
    }

}

class Shop {
    String name = "myShop!";

    public String getName() {
        return this.name;
    }
}

class Customer extends StoreClerk {
    String name = "customer!";

    public String getName() {
        return this.name + super.getName();
    }
}

public class Store {
    public static void main(String args[]) {
        Customer ibrahim = new Customer();
        System.out.println(ibrahim.getName());
    }
}

你的错误: 虽然有很多但很少有人

  • 您在getName()中使用了return,但是您没有定义返回任何内容的函数。

    赞:

public String getName() {
      return this.name + super.getName();
  }
  • 您没有显示任何代码结果。

    赞:

  

的System.out.println(ibrahim.getName());