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
isValue
Возвращает значение true, если этот класс является классом-значением.
abstract val isValue: Boolean
members
Все функции и свойства, доступные в этом классе, включая объявленные в этом классе и во всех его родительских классах. Конструкторы не включаются.
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?
Наследованные свойства
annotations
Аннотации, присутствующие на этом элементе.
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 с заданным классификатором, подставляя все его типы параметров с проекциями звёздочек. Результирующий тип не помечен как допускающий значение null и не имеет каких-либо аннотаций.
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 с заданным классификатором, аргументами типа, допускаемостью null и аннотациями. Если количество переданных аргументов типа не равно общему количеству параметров типа классификатора, выбрасывается исключение. Если любой из аргументов не удовлетворяет ограничениям соответствующего параметра типа, выбрасывается исключение.
fun KClassifier.createType( arguments: List<KTypeProjection> = emptyList(), nullable: Boolean = false, annotations: List<Annotation> = emptyList() ): KType
findAnnotation
Возвращает аннотацию заданного типа на этом элементе.
fun <T : Annotation> KAnnotatedElement.findAnnotation(): T?
findAnnotations
Возвращает все аннотации заданного типа на этом элементе, включая применённые индивидуально аннотации, а также повторяющиеся аннотации.
fun <T : Annotation> KAnnotatedElement.findAnnotations(): List<T>
fun <T : Annotation> KAnnotatedElement.findAnnotations( klass: KClass<T> ): List<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–2022 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/