Pull to refresh

Comments 5

А ещё с помощью выведения типов ключевым словом "var" можно делать пересечения типов:

public static void main(String... args) {
   var duck = (Quacks & Waddles) Mixin::create;
   duck.quack();
   duck.waddle();
}
 
interface Quacks extends Mixin {
   default void quack() {
       System.out.println("Quack");
   }
}
 
interface Waddles extends Mixin {
   default void waddle() {
       System.out.println("Waddle");
   }
}
 
interface Mixin {
   void __noop__();
   static void create() {}
}

В fasterxml наконец то миксины сделают без грязных махинаций :)

Можно-то можно, но за пределы метода такой миксин толком не вынешь.

пугает, что новые фичи и способы реализации больше похожи на какие-то хаки, чем на возможности языка

Kotlin:


fun main() {
    val anon = object {
        fun hello() {
            println("hello")
        }
    }
    anon.hello()
}

Но вы реально считаете это очень полезным трюком?

Sign up to leave a comment.