Tristan Caron
01/09/2017, 8:57 PM/*trait*/ interface HasPower {
    abstract val power: String
    
    fun getPower(): String = "Super $power"
}
/*trait*/ interface HasUnderwear {
    abstract val underwear: String
    
    fun getUnderwear(): String = "It's a lie, I don't have!"
}
class Person(
    val name: String,
    override val power: String,
    override val underwear: String
): HasPower, HasUnderwear
fun doSomething(target: HasPower) {
    println(target.getPower())
}
fun main(args: Array<String>) {
  val p = Person("Jean", "Laser", "Coat")
    
  doSomething(p)
}try.kotlinjava.lang.ClassFormatError: Duplicate method name&signature in class file HasPower