Spec-Zone.ru › OpenJDK 27

Класс StaticClass

java.lang.Object
jdk.dynalink.beans.StaticClass
Все реализуемые интерфейсы:
Serializable
public final class StaticClass extends Object implements Serializable
Объект, предоставляющий доступ к статическим членам класса (его статическим методам, свойствам и полям), а также позволяющий создавать экземпляры с помощью операции StandardOperation.NEW. В Dynalink объекты Class не обрабатываются особым образом и ведут себя как обычные объекты Java; например, можно использовать GET:PROPERTY:superclass в качестве получателя свойства для вызова clazz.getSuperclass(). С другой стороны, объекты Class нельзя использовать для доступа к статическим членам класса или для создания новых экземпляров класса с помощью NEW. Это соответствует поведению объектов Class в Java: в Java вы пишете, например, new BitSet() вместо new BitSet.class(). Аналогично, вы пишете System.out, а не System.class.out. Именно этот аспект использования имени класса в качестве конструктора и пространства имён для статических членов реализует StaticClass.

Объекты этого класса распознаются BeansLinker как специальные, и операции над ними связываются со статическими членами представленного класса. Также распознаётся синтетическое свойство "class", возвращающее объект Java Class, как и в Java, где System.class вычисляется в объект Class для класса System. И наоборот, объекты Class, предоставляемые через BeansLinker, предоставляют синтетическое свойство "static", возвращающее их объект StaticClass (в Java этому нет эквивалента).

Вкратце, экземпляры этого класса служат пространствами имён для статических членов и конструкторами классов, подобно указанию имени класса в языке Java, за тем исключением, что в Java это всего лишь синтаксический элемент, а в Dynalink они представлены как реальные объекты.

Объекты StaticClass, представляющие типы массивов Java, будут действовать как конструкторы, принимающие один аргумент типа int и создающие массив указанного размера.

Если у класса несколько конструкторов, операция StandardOperation.NEW для StaticClass попытается выбрать наиболее специфичный подходящий конструктор. Возможно, в вашем языке стоит предоставить механизм выбора конструктора с явной сигнатурой через BeansLinker.getConstructorMethod(Class, String).

С момента выпуска:
9
См. также:
  • Сериализованная форма

Краткое описание методов

Модификатор и тип Метод Описание
static StaticClass forClass(Class<?> clazz)
Возвращает экземпляр StaticClass для указанного класса.
Class<?> getRepresentedClass()
Возвращает представленный класс Java.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения определённого промежутка реального времени.

Подробное описание методов

forClass

public static StaticClass forClass(Class<?> clazz)
Возвращает экземпляр StaticClass для указанного класса.
Параметры:
clazz — класс, для которого запрашивается статическая составляющая.
Возвращает:
экземпляр StaticClass, представляющий указанный класс.

getRepresentedClass

public Class<?> getRepresentedClass()
Возвращает представленный класс Java.
Возвращает:
представленный класс Java.

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API