|
Помогите пожалуйста наследоваться от класса DatagramSocket
|
|||
---|---|---|---|
#18+
Всем привет! Подскажите пожалуйста как правильно наследоваться от класса DatagramSocket? Мне нужно переопределить метод send, выкинуть от туда всё лишнее. Что я делаю: 1. Создаю класс наследник MyDatagramSocket extends DatagramSocket 2. Переопределяю метод send, Код: java 1. 2. 3.
3. Смотрю нативный метод send Код: 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.
4. Хочу оставить только последнюю строку, в методе send, getImpl().send(p); 5. Смотрю метод getImpl() Код: java 1. 2. 3. 4. 5.
6. Смотрю класс DatagramSocketImpl, вижу что там есть метод send и он определён так Код: java 1.
Из этого я понимаю, что вызвать его можно только из класса наследника от DatagramSocketImpl 7. Соответственно я не могу его вызвать из своего класса, да и как он вызывается из DatagramSocket тоже не понятно, потому как DatagramSocket описан так Код: java 1. 2.
8. Я попробовал добраться до этого метода через reflection Код: java 1. 2. 3.
получилось, могу отправить. Но я не хочу это делать через reflection потому как это долго. Хочу вызывать этот метод напрямую. Подскажите пожалуйста как правильно наследоваться от DatagramSocket, так, чтобы можно было вызывать метод DatagramSocketImpl .send(DatagramPacket p). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 16:53 |
|
Помогите пожалуйста наследоваться от класса DatagramSocket
|
|||
---|---|---|---|
#18+
Чудесный мир ООП. Извини, бедняга, я бы мог попробовать помочь, но пока времени нету. Сочувствую, без сарказма ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 17:07 |
|
Помогите пожалуйста наследоваться от класса DatagramSocket
|
|||
---|---|---|---|
#18+
Mandarin, Что толку наследовать, если у тебя экземпляр базового класса должен быть как в проде. Проинициализирован и т.д. То есть вместо var v = new DatagramSocket() Ты должен подставить var v = new MyDatagramSocket() ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 17:11 |
|
Помогите пожалуйста наследоваться от класса DatagramSocket
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Тогда getImpl вызовется у базового класса. Ты же его не перекрывал? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 17:13 |
|
Помогите пожалуйста наследоваться от класса DatagramSocket
|
|||
---|---|---|---|
#18+
Наследник дополняет базовый класс. Это значит что нельзя оторвать базовый класс Паровоз от контекста и наследовать его в Ракета. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 17:15 |
|
Помогите пожалуйста наследоваться от класса DatagramSocket
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Он может не только дополнять, но и изменять поведение. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2020, 17:21 |
|
|
start [/forum/topic.php?fid=59&msg=39993064&tid=2120698]: |
0ms |
get settings: |
8ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
30ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
133ms |
get tp. blocked users: |
0ms |
others: | 7ms |
total: | 190ms |
0 / 0 |