Порядок операций в obj1.method1 (obj2.method2 ()). Method3 (). Method4 (obj2.method5 (obj2.method6 ())

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

эти методы связаны цепочкой, думайте о них как об отдельных операциях и думайте, как разрешить каждую операцию (так что сначала вам нужно будет разрешить method1, но чтобы вызвать его, вы должны передать параметр, поэтому вам нужно разрешить method2, затем у тебя method3 ...)

Berto99 30.03.2021 09:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
38
2

Ответы 2

ниже приведены последовательности операций

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

john 30.03.2021 10:12

В этой ссылке очень хорошо объяснен приоритет работы в java.https://introcs.cs.princeton.edu/java/11precedence/, в соответствии с этим, оператор ''. "Вызывается слева направо на том же уровне, поэтому, во-первых, этот метод должен быть вызван в соответствии с этим фактом. Метод1 → метод3 → метод3 → метод 4 но это неправда.

Но есть другое правило для вызова каждого метода, его параметр должен быть определен перед вызовом метода, например, для вызова метода 1 его параметр, который является obj2.method2 (), должен быть определен, поэтому перед вызовом метода 1 вызывается метод 2.

в соответствии с этим правилом методы, вызываемые с этими порядками:

  1. Метод 2
  2. Метод1
  3. Метод 3
  4. Метод 6
  5. Метод 5
  6. Метод 4

это явление называется «цепочкой методов», и ссылка ниже немного объясняет его: https://www.geeksforgeeks.org/method-chaining-in-java-with-examples/

Другие вопросы по теме