JavaClass |
JavaScript 1.1, NES 2.0 |
|
Объект JavaClass это ссылка на один из классов пакета Java, такой как
netscape.javascript.JSObject
Объект JavaPackage это ссылка на пакет Java, такой как netscape.javascript.
В JavaScript иерархия JavaPackage и JavaClass отражает иерархию пакетов
и классов Java. Вы можете передавать объект JavaClass Java-методу, который
требует тип аргумента java.lang.Class. Вы обязаны создать капсулу-оболочку
вокруг экземпляра java.lang.Class до того, как Вы передадите его как
параметр Java- методу. Объекты JavaClass не конвертируются автоматически
в экземпляры класса java.lang.Class. Свойства объекта JavaClass являются
static-полями Java-класса. Методы объекта JavaClass являются static-методами
Java-класса.
В большинстве случаев Вам не нужно беспокоиться об объектах 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)
|
|
Объектная модель
Packages.JavaClass
где JavaClass это полное квалифицированное
имя Java-класса объекта. Объекты LiveConnect java, sun и netscape
предоставляют быстрый доступ к наиболее часто используемым пакетам
Java, а также создают объекты JavaClass
|
|