русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Класс JavaClass


Дата добавления: 2015-07-09; просмотров: 534; Нарушение авторских прав


 

Класс JavaClass – это тип данных языка JavaScript, представляющий Java_класс. Объект класса JavaClass не имеет своих свойств: все его свойства являются пред_ ставлениями одноименных свойств общедоступных статических полей и методов Java_класса. Эти статические поля и методы иногда называются полями класса и методами класса, чтобы обозначить, что они принадлежат всему классу, а не отдельному экземпляру класса. В отличие от JavaPackage, класс JavaClass допус_ кает возможность перечисления своих свойств в цикле for/in. Примечательно, что объекты класса JavaClass не имеют свойств, представляющих поля и методы экземпляра Java_класса, – отдельные экземпляры Java_классов представляет класс JavaObject, который описывается в следующем разделе.

 

Как отмечалось ранее, объекты класса JavaClass содержатся в объектах класса JavaPackage. Например, объект java.lang класса JavaPackage содержит свойство System. Таким образом, java.lang.System – это объект класса JavaClass, представ_ ляющий Java_класс java.lang.System. Этот объект JavaClass в свою очередь имеет такие свойства, как out и in, представляющие статические поля класса java.lang.System. Точно таким же способом можно обращаться из JavaScript_сце_ нария к любому стандартному системному Java_классу. Например, класс java.lang.Double имеет имя java.lang.Double (или Packages.java.lang.Double), а класс javax.swing.JButton – имя Packages.javax.swing.JButton.

 

Еще один способ получить в JavaScript объект класса JavaClass заключается в использовании функции getClass(). Передавая функции getClass() любой объ_ ект класса JavaObject, можно получить объект JavaClass, который будет являться представлением Java_класса этого объекта.1

1 Не следует путать функцию getClass(), возвращающую объект JavaClass, с Java_ методом getClass(), который возвращает объект java.lang.Class.




 

12.2. Взаимодействие с Java*кодом
   

 

Как только экземпляр класса JavaClass получен, с ним можно выполнять некото_ рые действия. Класс JavaClass реализует функциональность LiveConnect, кото_ рая позволяет JavaScript_программам получать и записывать значения общедос_ тупных статических полей Java_классов и вызывать общедоступные статиче_ ские методы Java_классов. Например, java.lang.System – это экземпляр класса JavaClass, а получать и записывать значения статических полей java.lang.System можно следующим образом:

 

var java_console = java.lang.System.out;

Аналогичным образом производится вызов статических методов java.lang.System:

var java_version = java.lang.System.getProperty("java.version");

 

Ранее уже говорилось, что Java является строго типизированным языком: все по_ ля, методы и аргументы обладают своими типами. Если попытаться записать зна_ чение в поле или передать аргумент неверного типа, генерируется исключение.

 

Класс JavaClass имеет одну очень важную особенность. Допускается использо_ вать объекты класса JavaClass в операторе new для создания новых экземпляров Java_классов, т. е. для создания объектов JavaObject. Синтаксически в JavaScript (так же как и в Java) эта операция ничем не отличается от создания обычного JavaScript_объекта:

var d = new java.lang.Double(1.23);

 

Теперь, когда мы создали объект JavaObject таким способом, можно вернуться к функции getClass() и продемонстрировать, как она используется:

var d = new java.lang.Double(1.23); // Создать JavaObject  
var d_class = getClass(d); // Получить JavaClass для JavaObject
if (d_class == java.lang.Double) ...; // Это сравнение даст в результате true

 

Чтобы не обращаться к объекту класса JavaClass с помощью громоздкого выра_ жения, такого как java.lang.Double, можно определить переменную, которая по_ служит сокращенным псевдонимом:

var Double = java.lang.Double;

 

Такой прием может служить аналогом применения инструкции import в языке Java и повысить эффективность программ, т. к. в этом случае LiveConnect не при_ дется искать ни свойство lang объекта java, ни свойство Double объекта java.lang.

 



<== предыдущая лекция | следующая лекция ==>
Класс JavaPackage | Импорт пакетов и классов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.032 сек.