我想寫一些Java代碼像這樣在斯卡拉罐java的返回類型寫像斯卡拉this.type
class A {
def fun1(): this.type = {
this
}
}
class B extends A{
def fun2(): this.type = {
print("b")
this
}
}
object Test{
def main(args: Array[String]): Unit = {
new B().fun1().fun2()
}
}
,但我做不到,我覺得如果一個方法的隱含這參數可以被用於類型推斷,我可以寫這樣的:
class A{
static <T extends A> T fun1(T t) {
return t;
}
}
的第一個參數,就像非靜態方法的第一個隱含這個 parameter.but這個靜態方法是不是我想要的。
有沒有辦法像這樣寫,而不會重寫子類?