8c1dea14

Ссылки на Пакеты и Классы


Простые ссылки из JavaScript на пакеты и классы Java создают объекты JavaPackage и JavaClass. В предыдущем примере о компании Redwood, к примеру, ссылка Packages.redwood это JavaPackage-объект. Аналогично ссылка java.lang.String является JavaClass-объектом.

В большинстве случаев  Вам не нужно беспокоиться об объектах  JavaPackage и JavaClass - Вы просто работаете с пакетами и классами Java, а LiveConnect создаёт эти объекты прозрачно.

В JavaScript 1.3 и ранее JavaClass-объекты не конвертируются автоматически в экземпляры java.lang.Class. Если Вы передаёте их в качестве параметров Java-методам - Вы обязаны создавать wrapper/оболочку вокруг экземпляра java.lang.Class. В следующем примере метод forName создаёт объект-оболочку theClass, который затем передаётся методу newInstance для создания массива.

// JavaScript 1.3

theClass = java.lang.Class.forName("java.lang.String")

theArray = java.lang.reflect.Array.newInstance(theClass, 5)

В JavaScript 1.4 и позднее Вы можете передавать JavaClass-объект непосредственно в метод, как в следующем примере:

// JavaScript 1.4

theArray = java.lang.reflect.Array.newInstance(java.lang.String, 5)



Содержание раздела