У меня есть приложение jruby rails с модулем ruby в lib, который разделяет имена моих java-объектов, поэтому у меня нет конфликтов.
Мне интересно, в чем разница между включением определенных классов в этот модуль и включением пакета. Я включил пример кода ниже.
В консоли, для , например, 1 , когда я говорю MyMod :: и нажимаем вкладку, он имеет (например) 101 метод и параметры класса, в том числе MyMod :: MyClass.
Для пример 2 , когда я нажимаю MyMod :: and tab, он имеет только 100 параметров метода / класса и не содержит MyClass. Если я затем перейду к ссылке MyMod :: MyClass, а затем снова запустите вкладку MyMod ::, у меня теперь есть 101 опция и MyClass указан в списке.
Вот мой вопрос. В чем разница между ссылками на эти классы непосредственно в моем модуле, например, пример 1 и их загрузка по требованию, как пример 2 . Если у меня есть пакет с примерно 20 классами, которые я использую, предпочтительнее ли их загружать по требованию или заранее, и есть ли какие-либо накладные расходы на загрузку этого по требованию, например, пример 2
Пример кода:
пример 1
module MyMod
MyClass = Java::my.package.MyClass
....
end
против
пример 2
module MyMod
include_package "my.package"
end