При написании методов в Java (например, в форумах, списках рассылки, трекерах и т. Д.) Многие люди отделяют имя метода от имени класса, используя символ «#» вместо собственного оператора .
Java; например, люди относятся к Object#toString
вместо Object.toString
. Откуда этот синтаксис?Почему некоторые люди используют метод Class # вместо Class.method в переписке?
ответ
Это обозначения, используемые в комментариях javadoc при соединении с методом другого класса.
EDIT
Чтобы собрать дополнительную информацию, представленную в комментариях:
- @Hugo отмечает, что
#
обозначения в свою очередь, происходит от HTML анкеры - @maksimov указывает на то, что
Object.method
синтаксис Java для вызова статических методов, которые могут вводить в заблуждение
ОБНОВЛЕНИЕ
Java 8 предлагает новый синтаксис для ссылок на методы, которые теперь становятся все более популярными - так Object#toString
имеет тенденцию писать Object::toString
.
Это, в свою очередь, происходит от HTML-якорей, которые представлены с использованием этой нотации, поскольку каждый метод является якорем, если генерируется HTML-код javadoc. – WhyNotHugo
все имеет смысл. Я могу начать использовать его сейчас, но я должен признать, что это довольно уродливо, и мне становится труднее читать. Но это дает однозначность в случае вызовов статического метода. –
Но что, если объект строчный? –
- 1. Почему люди используют ProjectData
- 2. Почему люди используют командную строку вместо IDE?
- 3. Почему люди используют JSP?
- 4. Почему люди используют textmate?
- 5. Почему люди используют `Module.send (: prepend, ...)`?
- 6. Почему люди используют магические значения вместо нуля в своем коде?
- 7. Почему некоторые люди используют «if has (« gui_running »)» в .gvimrc?
- 8. Почему некоторые люди используют «Нет» в качестве элемента перечисления?
- 9. Почему люди используют `main()` вместо `int main()` в C++?
- 10. Каковы некоторые фреймворки javascript, которые используют люди?
- 11. pixel.gif, почему люди используют его?
- 12. Почему люди используют новую строку вместо определенного значения?
- 13. Почему люди используют несколько идентификаторов в CSS?
- 14. Почему люди используют переменные в некоторых случаях?
- 15. метод вызова Versus class.method
- 16. метод() vs Class.method()?
- 17. Почему люди используют linq для sql?
- 18. Почему люди используют CommandManager.InvalidateRequerySposed() для ICommands?
- 19. Почему люди используют комментарии как бизнес-логику
- 20. Почему некоторые люди говорят только «C +» вместо C++?
- 21. Почему люди используют div.border в css-файле внутри только -областной?
- 22. Почему люди используют скорость и/или NVelocity?
- 23. Почему люди не используют тетраэдры для небоскребов?
- 24. Почему люди используют CURLOPT_PROXYPORT 3128 без CURLOPT_PROXY?
- 25. Почему люди используют ATL для программирования COM?
- 26. Torch- почему люди не используют активацию явно?
- 27. Почему люди не используют обмены xor?
- 28. Почему люди используют .net для веб-разработки
- 29. Почему люди используют _? как суффикс идентификатора?
- 30. Почему люди не используют <CFLOGIN>?
Точечная обозначение может рассматриваться как код, где в Object.toString 'Object' будет экземпляр или иначе' toString' будет статическим методом. Тире обозначается Javadoc, и это понятно. – maksimov