gpt4 book ai didi

scala - 在 Scala 中,如何将 java 接口(interface)混入 Scala 代码

转载 作者:行者123 更新时间:2023-12-01 23:11:08 25 4
gpt4 key购买 nike

例如假设我有

interface ICar {...}
class Car implements ICar {...}

在 Scala 中我想做的事

new MyScalaClass with ICar

但是使用 ICar 的 java 实现,即 Car。这样做的语法是什么?

最佳答案

您可以使用对象聚合,但将聚合封装在特征中。假设您有以下 Java 代码:

interface ICar {
public void brake();
}
public class Car implements ICar {
public void brake() { System.out.println("BRAKE !!!"); }
}

然后您可以定义以下 Scala 特征:

trait HasCar { self: ICar =>
private val car = new Car
def brake() = car.brake()
}

最后你可以将你需要的所有东西混合到你的类(class)中:

 val c = new MyScalaClass extends ICar with HasCar
c.brake // prints "BRAKE !!!"

关于scala - 在 Scala 中,如何将 java 接口(interface)混入 Scala 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7184881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com