我想在我的Java程序中有类似的功能,但是我不知道如何在这种情况下使用this
(我知道如何在构造函数中使用this
)。猜我需要覆盖[]操作符?
public class MyClass{
public int this[int i]{
get{
return index[i];
}
}
private int[] index;
}
天真的做法是写正常的方法,但我更喜欢用this
来节省时间,不输入getIndex
。
public class MyClass{
public int getIndex(int i){
return index[i];
}
private int[] index;
}
编辑:好吧,所以我不能重写[],这是坏消息,谢谢大家。该死的Java。
在Java中不能重写操作符。这意味着,您不能覆盖+
、-
、[]
或其他类型的操作符。相反,您应该创建执行所需行为的方法。
你不能在Java中使用这个来创建getter。最好的解决方案是:
public int getIndex(int i){
return index[i];
}