KClass
interface KClass<T : Any> : KClassifier
interface KClass<T : Any> : KDeclarationContainer, KAnnotatedElement, KClassifier
Представляет класс и предоставляет возможности интроспекции. Экземпляры этого класса можно получить с помощью синтаксиса ::class. Дополнительную информацию см. в документации по языку Kotlin.
Параметры
T - тип класса.
Свойства
конструкторы
Все конструкторы, объявленные в этом классе.
abstract val constructors: Collection<KFunction<T>>
isAbstract
Возвращает значение true, если этот класс является abstract.
abstract val isAbstract: Boolean
isCompanion
Возвращает значение true, если этот класс является компаньоном. Дополнительную информацию см. в документации по языку Kotlin.
abstract val isCompanion: Boolean
isData
Возвращает значение true, если этот класс является классом-данными. Дополнительную информацию см. в документации по языку Kotlin.
abstract val isData: Boolean
isFinal
Возвращает значение true, если этот класс является final.
abstract val isFinal: Boolean
isFun
Возвращает значение true, если этот класс является функциональным интерфейсом Kotlin.
abstract val isFun: Boolean
isInner
Возвращает значение true, если этот класс является вложенным классом. Дополнительную информацию см. в документации по языку Kotlin.
abstract val isInner: Boolean
isOpen
Возвращает значение true, если этот класс является open.
abstract val isOpen: Boolean
isSealed
Возвращает значение true, если этот класс является sealed . Дополнительную информацию см. в документации по языку Kotlin.
abstract val isSealed: Boolean
члены
Все функции и свойства, доступные в этом классе, включая те, которые объявлены в этом классе и во всех его суперклассах. Конструкторы не включаются.
abstract val members: Collection<KCallable<*>>
вложенныеКлассы
Все классы, объявленные внутри этого класса. Это включает как вложенные, так и статические вложенные классы.
abstract val nestedClasses: Collection<KClass<*>>
objectInstance
Экземпляр объявления объекта, или null , если этот класс не является объявлением объекта.
abstract val objectInstance: T?
qualifiedName
Полное имя класса с разделителями точек, или null , если класс локальный или класс анонимного объекта.
abstract val qualifiedName: String?
sealedSubclasses
Список непосредственных подклассов, если этот класс является запечатанным классом, или пустой список в противном случае.
abstract val sealedSubclasses: List<KClass<out T>>
simpleName
Простое имя класса, как оно было объявлено в исходном коде, или null , если у класса нет имени (например, если это класс анонимного объекта).
abstract val simpleName: String?
supertypes
Список непосредственных супертипов этого класса в порядке их перечисления в исходном коде.
abstract val supertypes: List<KType>
typeParameters
Список параметров типа этого класса. Этот список не включает параметры типа внешних классов.
abstract val typeParameters: List<KTypeParameter>
видимость
Видимость этого класса, или null , если его видимость не может быть представлена в Kotlin.
abstract val visibility: KVisibility?
Наследуемые свойства
аннотации
Аннотации, которые присутствуют на этом элементе.
abstract val annotations: List<Annotation>
Функции
equals
hashCode
Возвращает значение хэш-кода для объекта. Общий контракт hashCode:
abstract fun hashCode(): Int
isInstance
Возвращает true если value является экземпляром этого класса на данной платформе.
abstract fun isInstance(value: Any?): Boolean
Расширяющие свойства
allSuperclasses
Все суперклассы этого класса, включая косвенные, в произвольном порядке. Включает суперклассы и суперинтерфейсы класса, но не включает сам класс. Возвращаемый набор не содержит более одной копии любого данного класса.
val KClass<*>.allSuperclasses: Collection<KClass<*>>
allSupertypes
Все типы-супертипы этого класса, включая косвенные, в произвольном порядке. В возвращаемом наборе не более одного типа с заданным классификатором.
val KClass<*>.allSupertypes: Collection<KType>
companionObject
Возвращает экземпляр KClass, представляющий компаньон-объект данного класса, или null если у класса нет компаньон-объекта.
val KClass<*>.companionObject: KClass<*>?
companionObjectInstance
Возвращает экземпляр компаньон-объекта данного класса, или null если у класса нет компаньон-объекта.
val KClass<*>.companionObjectInstance: Any?
declaredFunctions
Возвращает все функции, объявленные в этом классе. Если это класс Java, он включает все нестатические методы (как расширения, так и не расширения), объявленные в классе и его суперклассах, а также статические методы, объявленные в классе.
val KClass<*>.declaredFunctions: Collection<KFunction<*>>
declaredMemberExtensionFunctions
Возвращает функции-расширения, объявленные в этом классе.
val KClass<*>.declaredMemberExtensionFunctions: Collection<KFunction<*>>
declaredMemberExtensionProperties
Возвращает свойства-расширения, объявленные в этом классе.
val <T : Any> KClass<T>.declaredMemberExtensionProperties: Collection<KProperty2<T, *, *>>
declaredMemberFunctions
Возвращает нестатические функции-не-расширения, объявленные в этом классе.
val KClass<*>.declaredMemberFunctions: Collection<KFunction<*>>
declaredMemberProperties
Возвращает свойства-не-расширения, объявленные в этом классе.
val <T : Any> KClass<T>.declaredMemberProperties: Collection<KProperty1<T, *>>
declaredMembers
Возвращает все функции и свойства, объявленные в этом классе. Не включает члены, объявленные в супертипах.
val KClass<*>.declaredMembers: Collection<KCallable<*>>
defaultType
Возвращает тип, соответствующий данному классу, с параметрами типа этого класса, заменёнными соответствующими аргументами. Например, для класса MyMap<K, V> defaultType вернёт тип MyMap<K, V>.
val KClass<*>.defaultType: KType
functions
Возвращает все функции, объявленные в этом классе, включая все нестатические методы, объявленные в классе и его суперклассах, а также статические методы, объявленные в классе.
val KClass<*>.functions: Collection<KFunction<*>>
java
javaClass
val <T : Any> KClass<T>.javaClass: Class<KClass<T>>
javaObjectType
javaPrimitiveType
js
Получает ссылку на конструктор для данного KClass.
val <T : Any> KClass<T>.js: JsClass<T>
jvmName
Возвращает имя класса JVM, представленного этим экземпляром KClass.
val KClass<*>.jvmName: String
memberExtensionFunctions
Возвращает функции-расширения, объявленные в этом классе и всех его суперклассах.
val KClass<*>.memberExtensionFunctions: Collection<KFunction<*>>
memberExtensionProperties
Возвращает свойства-расширения, объявленные в этом классе и всех его суперклассах.
val <T : Any> KClass<T>.memberExtensionProperties: Collection<KProperty2<T, *, *>>
memberFunctions
Возвращает нестатические функции-не-расширения, объявленные в этом классе и всех его суперклассах.
val KClass<*>.memberFunctions: Collection<KFunction<*>>
memberProperties
Возвращает свойства-не-расширения, объявленные в этом классе и всех его суперклассах.
val <T : Any> KClass<T>.memberProperties: Collection<KProperty1<T, *>>
primaryConstructor
Возвращает первичный конструктор этого класса или null, если у этого класса нет первичного конструктора. Дополнительную информацию см. в документации по языку Kotlin.
val <T : Any> KClass<T>.primaryConstructor: KFunction<T>?
starProjectedType
Создаёт экземпляр KType с заданным классификатором, подставляя все его параметры типа звёздными проекциями. Полученный тип не помечен как nullable и не имеет никаких аннотаций.
val KClassifier.starProjectedType: KType
staticFunctions
Возвращает статические функции, объявленные в этом классе.
val KClass<*>.staticFunctions: Collection<KFunction<*>>
staticProperties
Возвращает статические свойства, объявленные в этом классе. В качестве статических рассматриваются только свойства, представляющие статические поля Java-классов.
val KClass<*>.staticProperties: Collection<KProperty0<*>>
superclasses
Непосредственные суперклассы этого класса в порядке их перечисления в исходном коде. Включает суперклассы и суперинтерфейсы класса, но не включает сам класс.
val KClass<*>.superclasses: List<KClass<*>>
Расширяющие функции
cast
cast
createInstance
Создаёт новый экземпляр класса, вызывая конструктор, у которого либо нет параметров, либо все параметры являются необязательными (см. KParameter.isOptional). Если таких конструкторов нет или много, выбрасывается исключение.
fun <T : Any> KClass<T>.createInstance(): T
createType
Создаёт экземпляр KType с заданным классификатором, аргументами типа, nullable и аннотациями. Если количество переданных аргументов типа не равно общему количеству параметров типа классификатора, выбрасывается исключение. Если какой-либо из аргументов не удовлетворяет границам соответствующего параметра типа, выбрасывается исключение.
fun KClassifier.createType( arguments: List<KTypeProjection> = emptyList(), nullable: Boolean = false, annotations: List<Annotation> = emptyList() ): KType
findAnnotation
Возвращает аннотацию заданного типа на этом элементе.
fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
hasAnnotation
Возвращает true, если этот элемент аннотирован аннотацией типа T.
fun <T : Annotation> KAnnotatedElement.hasAnnotation(): Boolean
isSubclassOf
Возвращает true, если this класс является тем же или является (возможно, косвенным) подклассом base, false в противном случае.
fun KClass<*>.isSubclassOf(base: KClass<*>): Boolean
isSuperclassOf
Возвращает true, если this класс является тем же или является (возможно, косвенным) суперклассом derived, false в противном случае.
fun KClass<*>.isSuperclassOf(derived: KClass<*>): Boolean
safeCast
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.reflect/-k-class/