import java.util.HashMap;
class R extends HashMap<String, Object> {
    public R() {
        put("code", 0);
        put("msg", "success");
    }
    public static R ok() {
        return new R();
    }
    public static R ok(String msg) {
        R r = new R();
        r.put("msg", msg);
        return r;
    }
    // 这里不理解,为什么是super.put,而不是this.put
    public R put(String key, Object value) {
//        super.put(key, value);
        this.put(key, value);
        return this;
    }
}
public class R_test {
    public static void main(String[] args) {
        System.out.println(R.ok().put("a", "aaa"));
    }
}有个地方不是很理解,就是put方法中,为什么要用super.put,不能用this.put。我的理解是,子类继承父类,可以调用父类的方法,但用this.put会报错,请问是为什么?
this.put是递归调用自己,super.put是调用父类中定义的 put,是原功能实现。这个类重载
put大概只是为了能return this链式调用吧