Не удается распознать синтаксис этого кода (что такое класс, а какой метод)? - PullRequest
0 голосов
/ 17 октября 2019

У меня проблема с кодом. Я нашел объект, связанный с классом, и этот класс вызывает метод, а метод пытается вызвать другой метод? Я знаю, что в Java нет вложенного метода.

Но вот пример кода.

Я пытался сделать код как класс, класс и метод, но не сработал.

В первом файле мы создали объект другого класса в другом файле.


    private SnackMachine snackMachine;

Имя класса - "SnackMachine, а snackMachine - это объект.

в использовании кода.



assertThat(snackMachine.chewingGums().quantity()).isEqualTo(DEFAULT_QUANTITY);

как мы видим здесь, объект вызывает метод, но после метода, что это такое? И как я могу воспроизвести это?

Iдумал, что это класс, унаследованный от другого класса, и у которого есть метод. Также я подумал, потому что мы использовали ключевое слово final или static, чтобы мы могли вызывать его при создании объекта.

Я предполагаю, что DEFUALT_QUANTITY - это число, поэтому количествопридется возвращать число, это означает, что это метод.

Я предполагаю, что первый возвращает объект, а второй вызывает этот объект и вызывает его метод.

1 Ответ

0 голосов
/ 17 октября 2019

Фактически, первый метод возвращает другой объект, и поэтому вы можете связать другой вызов. Возвращаемое значение берется из последнего вызова.

Например, это (обратите внимание на отсутствие точек с запятой)

package com.github.francipvb.holamundo;

import java.util.*;

public class Main {
    public static void main(String[] args) {
        var sb = new StringBuilder()
            // The append method returns the builder itself...
            .append("str")
            .append("another str")
            .toString(); // this is the last call.
        System.out.println(sb); // sb is a string
    }
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...