Search code examples
javamethodschaining

How does chained methods execute in java?


Here is my code :

result = method1().method2().method3();

I would like to know the execution hierarchy of the above code/statement


Solution

  • Just go through the following points.

    1. Determine what the leftmost method call will return (let’s call it x).
    2. Use x as the object invoking the second (from the left) method. If there are only two chained methods, the result of the second method call is the expression's result.
    3. If there is a third method, the result of the second method call is used to invoke the third method.

    As per your statement, the execution hierarchy will be as follows:

    1. First , method1() which is the leftmost method will be called.
    2. Suppose method1() returns an object "meth" then the second method (from the left) method2() will be called as meth.method2().
    3. Last, the object returned from method2() will be used to call the method3().

    Hope it clarifies you doubt.