-2

Что за имена с точкой в java printer.accept()? введите сюда описание изображения

MarkMa
  • 103
  • 1
    "Имя с точкой" - ссылка на метод. Имя - объект, метод - метод, который определен в классе. Не знаю, что вы читали. но в большинстве Java книг это подробно и хорошо разбирается. – Anton Sorokin Jun 25 '19 at 05:10
  • Можно пример синтаксиса? – MarkMa Jun 25 '19 at 05:22
  • Стало лучше, но код лучше выкладывать текстом, а не картинкой. И хорошо бы пояснить, что по Вашему делает printer.accept(). Кстати, ответ помог? – default locale Jun 27 '19 at 09:14
  • Да, ответ помог. Спасибо! – MarkMa Jun 27 '19 at 09:53

1 Answers1

6

Точка в Java используется в разных местах и имеет разные значения.

  1. Обращение к члену класса (методу или полю).

    Например, если есть класс SomeClass и у него есть метод someMethod() и поле someField, то к ним можно обратиться через объект класса: слева от точки — объект, справа — член класса.

    SomeClass obj = new SomeClass();
    obj.someMethod();
    System.out.println(obj.someField);
    

    Объект необязательно будет прописан явно, он может быть возвращен полем или методом:

    obj.someMethod().anotherMethod();
    System.out.println(obj.someField.anotherField); 
    

    Если член класса — статичный, то к нему можно обратиться через класс, тогда слева от точки — класс, справа — член класса:

    SomeClass.someMethod();
    System.out.println(SomeClass.someField);
    
  2. Для разделения имен в иерархии пакетов и между пакетами и классами

    Например, если есть класс SomeClass в пакете com.someaddress, то к нему можно обратиться так:

    com.someaddress.SomeClass obj;
    

    Или импортировать его:

    import com.someaddress;
    
    SomeClass obj;
    

    В данном случае слева от точки имя пакета, справа класс, либо имя вложенного пакета.

    См. Что делает точка

  3. Синтаксис переменного числа аргументов.

    Три точки обозначают переменное число аргументов в методе:

    void someMethod(String... args)
    

    См. Точки в конструкторе java

Вообще рекомендую почитать хотя бы одну книгу по Java для начинающих от начала до конца и выполнить упражнения. Вопросы по самому базовому синтаксису после этого должны отпасть.