Dokumentacja języka JavaScript 1.5:Obiekty:JavaObject
z Mozilla Developer Center, polskiego centrum programistów Mozilli.
Spis treści |
[edytuj] Podsumowanie
Obiekt główny
Typ zapakowanego (ang. wrapped) obiektu Javy, do którego dostęp uzyskuje się z wnętrza kodu JavaScriptu.
[edytuj] Tworzone przez
Jakąkolwiek metodę Javy, która zwraca typ obiektu. Na dodatek, możesz stworzyć obiekt JavaObject używając konstruktora obiektu w Javie za pomocą słowa kluczowego Packages:
new Packages.KlasaJavy(listaParametrow)
KlasaJavy jest dokładną nazwą klasy obiektu w Javie.
[edytuj] Parametry
-
listaParametrow - Opcjonalna lista parametrów, określona przez konstruktor klasy Javy.
[edytuj] Opis
Obiekt JavaObject jest instancją klasy Javy, która jest stworzona wewnątrz kodu JavaScriptu lub jemu przekazana. JavaObject jest opakowaniem (wrapper) instancji; wszystkie referencje do instancji klasy są robione poprzez JavaObject.
Jakiekolwiek dane Javy użyte wewnątrz JavaScript-u są konwertowane do typów danych JavaScriptu. Kiedy JavaObject jest przekazany z powrotem do Javy, jest on rozpakowywany i może być użyty przez kod Javy. Zobacz Przewodnik po języku JavaScript 1.5, aby uzyskać więcej informacji na temat konwersji typów danych.
[edytuj] Własności
Dziedziczy publicznych członków danych (ang. public data members) klasy Javy, której jest instancją, jako własność. Dziedziczy również publicznych członków danych z jakiejkolwiek superklasy jako własność.
[edytuj] Metody
Dziedziczy publiczne metody klasy Javy, której jest instancją. JavaObject dziedziczy również metody z java.lang.Object i każdej innej superklasy.
[edytuj] Przykłady
[edytuj] Przykład: Tworzenie instancji JavaObject w JavaScripcie
Poniższy kod tworzy obiekt ciagZnakow typu JavaObject, który jest instancją klasy java.lang.String:
var ciagZnakow = new Packages.java.lang.String("Witaj, świecie");
Ponieważ klasa String jest wewnątrz pakietu java, możesz również użyć synonimu java i opuścić słowo kluczowe Packages, kiedy tworzysz instancję klasy:
var ciagZnakow = new java.lang.String("Witaj, świecie");
[edytuj] Przykład: Uzyskanie dostępu do metod obiektu Javy
Ponieważ obiekt ciagZnakow jest instancją java.labg.String, dziedziczy on wszystkie publiczne metody java.lang.String. Poniższy przykład używa metody startsWith by sprawdzić czy ciagZnakow zaczyna się od "Witaj".
var ciagZnakow = new java.lang.String("Witaj, świecie");
ciagZnakow.startsWith("Witaj"); // zwraca true
[edytuj] Przykład: Uzyskanie dostępu do odziedziczonych metod
Ponieważ, getClass jest metodą Object i java.lang.String rozszerza Object, klasa String dziedziczy metodę getClass. Konsekwentnie, getClass jest również metodą JavaObject, która tworzy instancję String w JavaScripcie.
var ciagZnakow = new java.lang.String("Witaj, świecie");
ciagZnakow.getClass(); // zwraca java.lang.String