Может ли кто-нибудь объяснить мне порядок операций здесь: obj1.method1 (obj2.method2 ()). Method3 (). Method4 (obj2.method5 (obj2.method6 ())




ниже приведены последовательности операций
op1 obj2.method2()
op2 obj1.method1( result of op1)
op3 (result of op2).method3()
op4 obj2.method6()
op5 obj2.method5(result of op4)
op6 (result of op3).method4(result of op5)
Разве op 4 не должен быть последней операцией (результатом op3) .method4 (результатом op6)? Нам нужно аргументировать результат операции 6
В этой ссылке очень хорошо объяснен приоритет работы в java.https://introcs.cs.princeton.edu/java/11precedence/, в соответствии с этим, оператор ''. "Вызывается слева направо на том же уровне, поэтому, во-первых, этот метод должен быть вызван в соответствии с этим фактом. Метод1 → метод3 → метод3 → метод 4 но это неправда.
Но есть другое правило для вызова каждого метода, его параметр должен быть определен перед вызовом метода, например, для вызова метода 1 его параметр, который является obj2.method2 (), должен быть определен, поэтому перед вызовом метода 1 вызывается метод 2.
в соответствии с этим правилом методы, вызываемые с этими порядками:
это явление называется «цепочкой методов», и ссылка ниже немного объясняет его: https://www.geeksforgeeks.org/method-chaining-in-java-with-examples/
эти методы связаны цепочкой, думайте о них как об отдельных операциях и думайте, как разрешить каждую операцию (так что сначала вам нужно будет разрешить
method1, но чтобы вызвать его, вы должны передать параметр, поэтому вам нужно разрешитьmethod2, затем у тебяmethod3...)