有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java从超类调用方法并更改返回语句

我正在从名为getStringRepresentation的超类调用一个方法,该超类当前返回“”。这很好。我的问题是我想将子类中的return语句更改为另一个符号,例如S或O

当前我的代码如下所示:

public EmptySpace(Position position) {
    super(position);
    super.getStringRepresentation()
        return "ES"; //this obviously doesn't work.
}

我知道用字符串你可以用系统覆盖它。虽然没有,但是java教程没有解释返回语句,也没有返回语句的示例。 但是java教程没有解释返回语句,也没有返回语句的示例

主类

    public class Sector
    {
    private Position            position;

 /**
 * Returns a String containing " " (Whitespace).
 * 
 * @Return returns a String containg " "
 */
 public String getStringRepresentation() {

    return " ";

 }

共 (2) 个答案

  1. # 1 楼答案

    重写EmptySpace类中的方法:

    public EmptySpace(Position position) {
    
        super(position);
    
    }
    
    @Override
    public String getStringRepresentation() {
        return "ES";
    }
    
  2. # 2 楼答案

    不要从子类的构造函数调用getStringRepresentation()方法

    而是重写子类中的getStringRepresentation()方法

    public EmptySpace(Position position) {
       super(position);
    }
    
    @Override
    public String getStringRepresentation() {
      return "ES";
    }