所以我正在为Java创建一个API,我需要在我的方法上进行扩展。例:

someMethod().getName();


这样的东西。有人知道吗?

最佳答案

您尝试做的是一种称为方法链接的方法。让我们举这个例子:

obj.methodOne().methodTwo()


这将从调用methodTwo()返回的对象中调用obj.methodOne(),因此您可以认为上面的链就像是这样的:

(obj.methodOne()).methodTwo()


假设您有这个课程:

public class MyClass2 {
    public int methodTwo() {...}
}


然后,为了能够从methodTwo的结果中调用obj.methodOne(),方法methodOne()应该返回类MyClass2的实例:

public class MyClass1 {
    public MyClass2 methodOne() {
        return new MyClass2(); // returns instance of 'MyClass2'
    }
}

10-01 20:12