Spec-Zone.ru › Kotlin 2

KClass

kotlin-stdlib/kotlin.reflect/KClass

Требования к платформе и версии: Common (1.0), JS (1.1), Wasm-JS (1.8), Wasm-WASI (1.8)

expect interface KClass<T : Any> : KClassifier

Представляет класс и предоставляет возможности интроспекции. Экземпляры этого класса можно получить с помощью синтаксиса ::class. Подробнее см. в документации по языку Kotlin.

Параметры типа

T

тип класса.

Требования к платформе и версии: JVM (1.0), Native (1.3)

actual interface KClass<T : Any> : KDeclarationContainer, KAnnotatedElement, KClassifier

Представляет класс и предоставляет возможности интроспекции. Экземпляры этого класса можно получить с помощью синтаксиса ::class. Подробнее см. в документации по языку Kotlin.

Параметры типа

T

тип класса.

Свойства

annotations

Требования к платформе и версии: JVM (1.0)

abstract val annotations: List<Annotation>

Аннотации, присутствующие у этого элемента.

constructors

Требования к платформе и версии: JVM (1.0)

abstract val constructors: Collection<KFunction<T>>

Все конструкторы, объявленные в этом классе.

isAbstract

Требования к платформе и версии: JVM (1.1)

abstract val isAbstract: Boolean

true, если этот класс является abstract.

isCompanion

Требования к платформе и версии: JVM (1.1)

abstract val isCompanion: Boolean

true, если этот класс является объектом-компаньоном. Подробнее см. в документации по языку Kotlin.

isData

Требования к платформе и версии: JVM (1.1)

abstract val isData: Boolean

true, если этот класс или объект содержит ключевое слово data. Подробнее см. разделы класс данных и объект данных в документации по языку Kotlin.

isFinal

Требования к платформе и версии: JVM (1.1)

abstract val isFinal: Boolean

true, если этот класс является final.

isFun

Требования к платформе и версии: JVM (1.4)

abstract val isFun: Boolean

true, если этот класс является функциональным интерфейсом Kotlin.

isInner

Требования к платформе и версии: JVM (1.1)

abstract val isInner: Boolean

true, если этот класс является внутренним классом. Подробнее см. в документации по языку Kotlin.

isInterface

Требования к платформе и версии: JS (2.2)

@ExperimentalStdlibApi
abstract val isInterface: Boolean

Возвращает true, если этот экземпляр KClass представляет интерфейс Kotlin.

isOpen

Требования к платформе и версии: JVM (1.1)

abstract val isOpen: Boolean

true, если этот класс является open.

isSealed

Требования к платформе и версии: JVM (1.1)

abstract val isSealed: Boolean

true, если этот класс является sealed. Подробнее см. в документации по языку Kotlin.

isValue

Требования к платформе и версии: JVM (1.5)

abstract val isValue: Boolean

true, если этот класс является классом-значением.

java

Требования к платформе и версии: JVM (1.0)

@get:JvmName(name = "getJavaClass")
val <T> KClass<T>.java: Class<T>

Возвращает экземпляр Java Class, соответствующий указанному экземпляру KClass.

javaClass

Требования к платформе и версии: JVM (1.0)

@get:JvmName(name = "getRuntimeClassOfKClassInstance")
val <T : Any> KClass<T>.javaClass: Class<KClass<T>>
javaObjectType

Требования к платформе и версии: JVM (1.0)

val <T : Any> KClass<T>.javaObjectType: Class<T>

Возвращает экземпляр Java Class, соответствующий указанному экземпляру KClass. Для примитивных типов возвращает соответствующие классы-обёртки.

javaPrimitiveType

Требования к платформе и версии: JVM (1.0)

val <T : Any> KClass<T>.javaPrimitiveType: Class<T>?

Если примитивный тип существует, возвращает экземпляр Java Class, представляющий примитивный тип, соответствующий указанному KClass.

js

Требования к платформе и версии: JS (1.1)

val <T : Any> KClass<T>.js: JsClass<T>

Получает ссылку на конструктор для указанного KClass.

members

Требования к платформе и версии: JVM (1.0)

abstract override val members: Collection<KCallable<*>>

Все функции и свойства, доступные в этом классе, включая объявленные в самом классе и во всех его суперклассах. Конструкторы не включены.

nestedClasses

Требования к платформе и версии: JVM (1.0)

abstract val nestedClasses: Collection<KClass<*>>

Все классы, объявленные внутри этого класса. Сюда входят как внутренние, так и статические вложенные классы.

objectInstance

Требования к платформе и версии: JVM (1.0)

abstract val objectInstance: T?

Экземпляр объявления объекта или null, если этот класс не является объявлением объекта.

qualifiedName

Требования к платформе и версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect abstract val qualifiedName: String?

Полное имя класса, состоящее из компонентов, разделённых точками, или null, если класс является локальным или классом анонимного объекта.

sealedSubclasses

Требования к платформе и версии: JVM (1.3)

abstract val sealedSubclasses: List<KClass<out T>>

Список непосредственных подклассов, если этот класс является запечатанным, или пустой список в противном случае.

simpleName

Требования к платформе и версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect abstract val simpleName: String?

Простое имя класса, указанное в исходном коде, или null, если у класса нет имени (например, если это класс анонимного объекта).

supertypes

Требования к платформе и версии: JVM (1.1)

abstract val supertypes: List<KType>

Список непосредственных суперклассов этого класса в порядке их перечисления в исходном коде.

typeParameters

Требования к платформе и версии: JVM (1.1)

abstract val typeParameters: List<KTypeParameter>

Список параметров типа этого класса. Этот список не включает параметры типа внешних классов.

visibility

Требования к платформе и версии: JVM (1.1)

abstract val visibility: KVisibility?

Видимость этого класса или null, если её невозможно представить в Kotlin.

Функции

cast

Требования к платформе и версии: Common (1.4)

fun <T : Any> KClass<T>.cast(value: Any?): T

Приводит указанное значение к классу, представленному этим объектом KClass. Вызывает исключение, если значение равно null или не является экземпляром этого класса.

createInstance

Требования к платформе и версии: JS (1.9)

@ExperimentalJsReflectionCreateInstance
fun <T : Any> KClass<T>.createInstance(): T

Создаёт новый экземпляр класса, вызывая конструктор без параметров либо конструктор, все параметры которого имеют значения по умолчанию. Если таких конструкторов нет или их несколько, вызывается исключение.

equals

Требования к платформе и версии: Common (1.0), Wasm-JS (1.8), Wasm-WASI (1.8)

expect abstract operator override fun equals(other: Any?): Boolean

Указывает, равен ли другой объект этому объекту.

Требования к платформе и версии: JS (1.1), JVM (1.0), Native (1.3)

actual abstract operator override fun equals(other: Any?): Boolean

Возвращает true, если этот экземпляр KClass представляет тот же класс Kotlin, что и класс, представленный объектом other. В JVM это означает, что выполняются все следующие условия:

findAssociatedObject

Требования к платформе и версии: JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

actual inline fun <T : Annotation> KClass<*>.findAssociatedObject(): Any?

Если T — класс аннотации, аннотированный @AssociatedObjectKey, а этот класс аннотирован @T (S::class), возвращает объект S.

hashCode

Требования к платформе и версии: Common (1.0), JS (1.1), JVM (1.0), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect abstract override fun hashCode(): Int

Возвращает хеш-код объекта.

isInstance

Требования к платформе и версии: Common (1.1), JS (1.1), JVM (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)

expect abstract fun isInstance(value: Any?): Boolean

Возвращает true, если значение является экземпляром этого класса на заданной платформе.

safeCast

Требования к платформе и версии: Common (1.4)

fun <T : Any> KClass<T>.safeCast(value: Any?): T?

Приводит указанное значение к классу, представленному этим объектом KClass. Возвращает null, если значение равно null или не является экземпляром этого класса.

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.reflect/-k-class/index.html

Spec-Zone.ru

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