В Java я могу использовать анонимный класс для реализации интерфейса, как показано ниже:
Интерфейс:
interface Human
{
void think();
}
Реализация:
public class Runner
{
public static void main(String[] args)
{
Human programmer = new Human()
{ public void think()
{
System.out.println("Hello World!");
}
};
programmer.think()
}
}
И если я его преобразоватьв kotlin, то это становится:
Интерфейс:
interface Human
{
fun think()
}
Реализация:
fun main(args: Array<String>)
{
var programmer : Human = object : Human
{
override fun think()
{
System.out.println("Hello World!")
}
}
programmer.think()
}
Но могу ли я применить преобразование SAM (Single abstract method) в реализации kotlin ипреобразовать в лямду?