Смущен простым синтаксисом Java - начинающий программист - PullRequest
2 голосов
/ 11 ноября 2011

Я довольно новичок в Java. Я читаю об этом и учусь по ходу дела. Я надеялся, что кто-нибудь сможет мне что-то объяснить. Я посмотрел на реализацию рассматриваемого файла библиотеки java, но это не очень помогло.

Позвольте мне начать с примера кода:

System.out.println();

Из того, что я понимаю, это вызывает метод класса System - println (). Все, что в скобках, передается методу в качестве аргументов (если это правильное слово для него). Это я понимаю.

Я тоже понимаю ...

System.out.println(SomeMethod(SomeMethodAgain(x)));

.. этот код возвращает переменную из SomeMethodAgain (x) и передает ее SomeMethod (), а затем результаты SomeMethod () затем передаются в метод println ().

Но вот вопрос ... Я видел строку кода, которая возвращает переменную типа "Измерение":

Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();

... теперь я мог бы понять код, если бы это был просто Toolkit.getDefaultToolKit (). но тогда у него есть расширение ".getScreenSize". Так как же работает эта команда? Есть ли метод внутри метода? (Я не думал, что это возможно) ??

Ответы [ 3 ]

4 голосов
/ 11 ноября 2011

Эта строка:

Toolkit.getDefaultToolkit().getScreenSize();

эквивалентна:

Toolkit tmp = Toolkit.getDefaultToolkit();
tmp.getScreenSize();

Он вызывает экземпляр метод с именем getScreenSize(), где экземпляр, к которому он вызываетсятот, который был возвращен из статического метода Toolkit.getDefaultToolkit().

(он на самом деле не возвращает экземпляр; он возвращает ссылку на экземпляр, но одну вещь ввремя ...)

3 голосов
/ 11 ноября 2011

Все это означает, что Toolkit.getDefaultToolkit() возвращает объект .У объекта есть метод с именем getScreenSize().

1 голос
/ 11 ноября 2011

Вы можете связать вызовы ваших методов.

Toolkit.getDefaultToolkit()

вернуть один инструментарий, который затем называется getScreenSize() on.Значение этого выражения является результатом последнего вызова.

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