在Apple的编程语言Swift中,您可以像在自己的类中一样使用下标。 例如,Swift中的一个类看起来像这样:
class MyNumber {
let value: Int
init(value: Int) {
self.value = value
}
subscript(i: Int) -> Int {
return value * i
}
}
这个类只有一个getter下标,但你也可以做一个setter下标。无论如何这样做:
let number = MyNumber(value: 15)
println(number[3])
它产生输出45。
是否可以在Java中使用下标编写此类?当然,我可以简单地使用带参数的方法,但我想知道这是否可行。 谢谢你的回答:)
答案 0 :(得分:1)
简答:不。在Java中设置等于Class()
的内容正在创建该对象的新实例化。做这样的事情:
var = new MyNumber(15)
var.multiply(3)
并在您的MyNumber
班级代码中,为了清楚起见,将subscript
更改为multiply
。这将是相同的。
同一原则的简写版本是
System.out.println(new MyNumber(15).multiply(3));