Доступ к методу в том же проекте, но в другом пакете - PullRequest
0 голосов
/ 12 июля 2019

Можно ли получить доступ к методу в другом пакете, но в одном и том же проекте, не делая метод открытым или наследуемым? Я ищу что-то похожее на дружественные сборки в C #.

1 Ответ

3 голосов
/ 12 июля 2019

Возможно ли получить доступ к методу в другом пакете, но в одном и том же проекте, не делая метод открытым или наследуемым?

Sortof, да - вы можете использовать отражение , чтобы получить метод, который вам нужен, вызвать setAccessible(true) для метода, чтобы подавить проверки доступа, а затем вызывать его из любого места.

Но ...

Я ищу что-то похожее на дружественные сборки в C #.

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

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