# Kotlin and Java interoperability: Properties and annotations

DevFeed: [Kotlin and Java interoperability: Properties and annotations](<https://devfeed.tech/articles/kotlin-and-java-interoperability-properties-and-annotations-39202.md>)

Original publisher: [Read original article](<https://kt.academy/article/ak-java-interop-2>)

Published: 2023-08-07T00:15:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>), [Java](<https://devfeed.tech/topics/java.md>), [properties](<https://devfeed.tech/topics/properties.md>)

Tags: [annotation](<https://devfeed.tech/tags/annotation.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [properties](<https://devfeed.tech/tags/properties.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

## AI overview

This tutorial explains how Kotlin properties map to Java getters, setters, fields, delegates, and constructor parameters. It shows how use-site annotation targets select specific generated JVM elements and discusses Kotlin object declarations, companion objects, and compiler-generated static methods for Java interoperability.

## Source excerpt

Kotlin property is Java getter, setter, field and possibly more. So what to do, when you need to annotate or use a specific JVM element?