powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Магические методы в Java
18 сообщений из 18, страница 1 из 1
Магические методы в Java
    #38899345
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В PHP имеются несколько методов классов типа __call() __callStatic(), к которым переходит управление в случае, если вызываемый метод в самом классе отсутствует.

Это позволяет прозрачно создавать "виртуальные" методы для ORM, например, для связей один-к-одному и так далее.

Можно ли что-то похожее создать на Java ?
...
Рейтинг: 0 / 0
Магические методы в Java
    #38899359
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дня,

Таких методов нет, можно делать через аннотации
...
Рейтинг: 0 / 0
Магические методы в Java
    #38899428
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дня,

Они так и называются? "магические" ? В самом языке Java такого нет. Но в JVM есть схожая инструкция invokedynamic. Она была добавлена в байт-код как раз для того чтобы подобные механизмы поддерживать для скриптовых языков.
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900099
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

в пхп так и называются - https://php.net/manual/ru/language.oop5.magic.php

ясно.. интересно, а что делать, если имеется большое желание не определять все методы и не пользоваться аннотациями ? оставить java за скобками ?
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900160
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняBlazkowicz,

в пхп так и называются - https://php.net/manual/ru/language.oop5.magic.php

ясно.. интересно, а что делать, если имеется большое желание не определять все методы и не пользоваться аннотациями ? оставить java за скобками ?

Если хочется использовать динамический язык, то надо его и использовать. jython , например.
Для jvm есть ещё.
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900183
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,

понятно.. спасибо
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900303
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняясно.. интересно, а что делать, если имеется большое желание не определять все методы и не пользоваться аннотациями ? оставить java за скобками ?
Изучать 100500 языков для JVM: Scala, Groovy, Kotlin, Ceylon, Xtend, Clojure и прочие
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900347
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дня,

А может просто наследоваться, не? Что хочется сделать?
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900366
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTkГерой дня,

А может просто наследоваться, не? Что хочется сделать?

Хочется вызывать методы, определяемые в рантайме. В Java как статически типизированном языке такого нет. Либо кодогенерация. Либо скриптовые языки.
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900627
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

да.. кодогенерация остается, про неё забыл..

хочу создавать в веб-интерфейсе новые объекты БД и определять связи между ними

точнее - в пхп уже реализовал, планирую сделать это в java версии продукта
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900729
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняда.. кодогенерация остается, про неё забыл..
хочу создавать в веб-интерфейсе новые объекты БД и определять связи между ними

QueryDSL и jOOQ уже умеют это делать вместо тебя. Последний приятнее в API, но у него больше ограничений в лицензии.
...
Рейтинг: 0 / 0
Магические методы в Java
    #38900926
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

спб, изучаю
...
Рейтинг: 0 / 0
Магические методы в Java
    #38902179
O.R.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Герой дня,

посмотри на java.lang.reflect.InvocationHandler
...
Рейтинг: 0 / 0
Магические методы в Java
    #38902183
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дня,

Можно создавать классы, потом их компилить и подгружать налету через classloader. Это как направление, нужно конечно смотреть в деталях.
...
Рейтинг: 0 / 0
Магические методы в Java
    #38902188
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTkГерой дня,

Можно создавать классы, потом их компилить и подгружать налету через classloader. Это как направление, нужно конечно смотреть в деталях.
Э-э-э. Компилить, ведь, не выйдет, если верификации не отключить. Ну, lombok, вроде, что-то подобное делает. Тут основная проблема в том что поддержка IDE может отсутствовать напрочь. Для lombok, то сделали плагины. А для своего велосипеда плагина уже не будет.
...
Рейтинг: 0 / 0
Магические методы в Java
    #38903360
GregTk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

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

По ним можно и создать таблицы в БД и связи настроить, в общем полный фарш, я так понимаю ТС хочет сделать некий конфигуратор моделей через веб морду.
...
Рейтинг: 0 / 0
Магические методы в Java
    #38903640
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GregTk,

А через некоторое время понимаешь, что WEB морде геттеры и сеттеры не нужны, и вся модель по сути представляет собой Два Map (1 на данные, а 2 на мету). :)
И нафига компилить разные классы на сервере?
...
Рейтинг: 0 / 0
Магические методы в Java
    #38903849
am_sasa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей АрсеньевGregTk,

А через некоторое время понимаешь, что WEB морде геттеры и сеттеры не нужны, и вся модель по сути представляет собой Два Map (1 на данные, а 2 на мету). :)
И нафига компилить разные классы на сервере? вот полностью за! так и надо делать.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Магические методы в Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]