大家好我是Koltin的新手,在java中我们可以做到这一点
class A{
int x;
int y;
A(int x, int y){
this.x=x;
this.y=y
}
}
class B extends A{
int x,y;
B(int a, int b){
super(x,getSum(x,y));
}
int getSum(int x, int y){
return x+y;
}
}
如何在Kotlin中执行此代码,谢谢您的帮助
答案 0 :(得分:1)
在Kotlin中,您使用init
块或辅助构造函数。
class ExampleOne(val myProperty: Int) {
init {
// insert code here
}
}
class ExampleTwo {
constructor(myParameter: Int) {
// insert code here
}
}
答案 1 :(得分:0)
使用IntelliJ IDE' 将Java文件转换为Kotlin文件功能,这里是相应的kotlin文件。
test.kt:
internal class A(var x: Int, var y: Int)
internal class B(a: Int, b: Int) : A(x, getSum(x, y)) {
var x: Int = 0
var y: Int = 0
fun getSum(x: Int, y: Int): Int {
return x + y
}
}
答案 2 :(得分:0)
这不是有效的Java代码,因为在getSum
中调用super
之前无法调用super(x,getSum(x,y));
。这不会编译。
在Kotlin中提供这种行为的最简单方法如下:
open class A(val a: Int, val b: Int)
class B(a: Int, b: Int) : A(a, a + b)