|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
Пример №1: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60.
Пример №2: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Вопрос: Чем Это: Код: java 1.
Отличаеться от этого? Код: java 1.
Почему в первом случае в параметрах стоит экземпляр класса, а во втором примере ссылка на него через слово "this"? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 10:25 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
Vladimir1982Чем Это Отличаеться от этого? ничем не отличается. Метод addActionListener ожидает в качестве параметра любой объект, реализующий интерфейс ActionListener. В первом случае этот интерфейс реализуется в отдельном классе, во-втором - он реализуется в основном классе - это чисто архитектурная разница Vladimir1982Почему в первом случае в параметрах стоит экземпляр класса, а во втором примере ссылка на него через слово "this" почему или зачем? вопрос "почему" лишен смысла, поскольку, как я написал выше, технически нет никакой разницы - в обоих случаях передается ссылка на экземпляр, реализующий ActionListener. Сложно понять, что конкретно тебя смущает, что класс MainFrame внутри себя может сослаться на самого себя только через this? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 11:32 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
chpasha, авторСложно понять, что конкретно тебя смущает, что класс MainFrame внутри себя может сослаться на самого себя только через this? Да. Я думал, что слово "this" употребляться только 1) в конструкторе 2) вызов конструктора из другого конструктора 3) в геттерах. Еще я встречал такое употребление слова "this": Код: java 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 13:53 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
Vladimir1982chpasha, авторСложно понять, что конкретно тебя смущает, что класс MainFrame внутри себя может сослаться на самого себя только через this? Да. Я думал, что слово "this" употребляться только 1) в конструкторе 2) вызов конструктора из другого конструктора 3) в геттерах. Еще я встречал такое употребление слова "this": Код: java 1.
Слово this может употребляться где угодно, просто в большинстве случаев это необязательно - компилятор "подразумевает" наличие this . ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 15:18 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
автор Зашедший , Слово this может употребляться где угодно, просто в большинстве случаев это необязательно - компилятор "подразумевает" наличие this. Этот: Код: java 1.
можете мне объяснить, что он означает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 15:38 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
Vladimir1982автор Зашедший , Слово this может употребляться где угодно, просто в большинстве случаев это необязательно - компилятор "подразумевает" наличие this. Этот: Код: java 1.
можете мне объяснить, что он означает? получить у текущего класса или класса-предка ContentPane ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 16:14 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
Vladimir1982автор Зашедший , Слово this может употребляться где угодно, просто в большинстве случаев это необязательно - компилятор "подразумевает" наличие this. Этот: Код: java 1.
можете мне объяснить, что он означает?Вызвать метод getContentPane() данного экземпляра класса. Собственно, слово this тут является необязательным, компилятор по умолчанию его подставил бы. Единственный вариант, в котором действительно понадобится добавить this при таком вызове - если в класс выполнен статический импорт одноименного метода из другого класса. P.S. Пытаетесь освоить Java без чтения документации и учебников? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 16:57 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
автор Зашедший,P.S. Пытаетесь освоить Java без чтения документации и учебников? У Шильдта я не встречал описания данного примера. И еще, по поводу кода который я привел, правильно я понимаю, что чтобы создать "слушателя событий" создается экземпляр "eHandler handler = new eHandler();" от класса "eHandler", потом сам экземпляр "handler" в качестве параметра метода addActionListener(handler) добавляется к кнопкам "b1" , "b2". Правильно я понял? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 18:12 |
|
Слово "this" в java.
|
|||
---|---|---|---|
#18+
Vladimir1982автор Зашедший,P.S. Пытаетесь освоить Java без чтения документации и учебников? У Шильдта я не встречал описания данного примера.Странно, у Хорстманна объяснение "this" идет в самом начале главы по ООП. По сути все очень просто - никаких специальных "объектных функций" нет, просто в методы экземпляра класса нулевым (невидимым программисту) параметром передается this - указатель на экземпляр класса, которому "принадлежит" метод. Vladimir1982И еще, по поводу кода который я привел, правильно я понимаю, что чтобы создать "слушателя событий" создается экземпляр "eHandler handler = new eHandler();" от класса "eHandler", потом сам экземпляр "handler" в качестве параметра метода addActionListener(handler) добавляется к кнопкам "b1" , "b2". Правильно я понял?Совершенно верно. А в другом случае класс сам реализует интерфейс слушателя и передает в качестве параметра ссылку на самого себя. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2018, 19:19 |
|
|
start [/forum/topic.php?fid=59&fpage=41&tid=2121822]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 156ms |
0 / 0 |