Если я правильно понимаю, вы хотите сослаться на тип наложения из любого места в вашем приложении.В этом случае рассмотрите возможность создания переменной public static
.
Например, допустим, у нас есть тип оверлея JavaScript с именем Book
.Внутри него мы можем создать статическую переменную для хранения нашего глобального экземпляра.
public class Book extends JavaScriptObject {
public static Book instance; // The global
protected Book(){}
public final native String getName()/*-{
return this.name;
}-*/;
public final native void setName(String name)/*-{
this.name = name;
}-*/;
}
Затем мы ссылаемся на нее откуда угодно:
Book.instance = (Book) JavaScriptObject.createObject();
Book.instance.setName("How I Sailed the Seven Seas");
GWT.log( Book.instance.getName() );
По правдеВот как любая «глобальная» переменная работает в Java.Типы наложения работают одинаково!
Обратите внимание, что никакой магии не происходит, если поместить instance
внутри класса Book.Вы можете очень легко сделать то же самое:
public class FooBar{
public static Book global_book;
}
и позже:
FooBar.global_book.setName("My Biography")