Skip to content

Latest commit

 

History

History
34 lines (26 loc) · 761 Bytes

l8.adoc

File metadata and controls

34 lines (26 loc) · 761 Bytes

8. Обратная совместимость с Java

  • Kotlin < - > JVM interoperability

  • Написание Kotlin кода для удобного использования из Java

  • Написание Java кода для удобного использования из Kotlin

  • Отличия Kotlin от Java

  • Kotlin Java Bytecode IDEA Plugin

Puzzler

import java.lang.reflect.Proxy

interface Foo {
    fun bar(): String
}

class MyException : Exception()

val foo = Proxy.newProxyInstance(
    Foo::class.java.classLoader,
    arrayOf(Foo::class.java)
) { _, _, _ -> throw MyException() } as Foo

fun main() {
    try {
        println(foo.bar())
    } catch (t: MyException) {
        println("Oops")
    }
}